Come inserire e convalidare ' EOF ' A NETBEANS

Apparentemente non riconosce il CTR + Z, l’ho risolto indicando il programma in un se Ciò terminerà l’acquisizione dei dati quando l’utente ha digitato il numero del carattere, il nidificato se ha una rottura che termina la voce del flusso di dati:

Classe pubblica CLACAPALABRAS {

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 di chiusura

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *