Comment entrer et valider ' eof ' chez NetBeans

apparemment ne reconnaît pas le CTR + Z, je l’ai résolu en indiquant le programme dans un si Cela mettra fin à la capture de données lorsque l’utilisateur a dactylographié le numéro de caractère, le numéro imbriqué si elle a une pause qui met fin à l’entrée de flux de données:

Calapalabras de classe publique {

public static void main(String args) { //Declaración de variables final char eof = (char)-1; //Final asigna un valor constante a la variable eof char car; boolean palabra = false; int ncaracteres = 0, npalabras = 0, nlineas = 0; try{ //Encabezado de la aplicación System.out.println("Introducir texto. "+ "Pulse Enter después de cada linea." + "Para finalizar la captura teclea el caracter #" ); /*Inicio del bucle principal que lee la cadena de carateres sin importar si se dió una vuelta de carro creando un bucle infinito que solo se interrumpe con ctr + z*/ while( ( car =(char)System.in.read() ) != eof){ if (car == '#') break; /*Bucle 1 que detecta vuelta de carro. Contará caracteres hasta detectar una vuelta de carro, donde la variable ncarateres se autoincrementará de uno en uno dando el número de caracteres del texto dado, eof identifica el final del flujo de entrada*/ if(car == '\r') continue; ncaracteres++; /*Bucle 2 que detecta los espacios en blanco, inicio de lineas nuevas y tabuladores, los cuales discrimina al asignarles un valor boolean false*/ if (car == ' ' || car == '\n' || car == '\t') palabra = false; /*Bucle 3, el operador ! es negación, asigna un incremento a la variable npalabras cuando la variable boolean palabra es true*/ else if(!palabra){ npalabras++; palabra = true; }//Cierre else if /*Bucle 4, identifica el comienzo de una nueva linea, donde el valor de nlineas se autoincrementa*/ if(car == '\n') nlineas++; }//Cierre del bucle principal while //Presentación de resultados System.out.println(); System.out.println("Caracteres = " + ncaracteres + " Palabras= " + npalabras + " Lineas= " + nlineas ); }//Cierre try catch(IOException ignorada){}}//Cierre programa

} // Classe de fermeture

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *