Foros aprenderaprogramar.com
		Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: kekokore en 17 de Mayo 2013, 05:42
		
			
			- 
				import java.io.*;
 
 public class CContarPalabras
 {
 public static void main(String[] args) //Contar caracteres, palabras y lineas en un texto
 {
 final char eof = (char) - 1;
 char car;
 boolean palabra = false;
 int ncaracteres = 0, npalabras = 0, nlineas = 0;
 
 try
 {
 System.out.println("Introducir texto. " + "Pulse [Enter] despues de cada linea.");
 System.out.println("Para finalizar pulsar Ctrl+z.\n");
 
 while ((car = (char)System.in.read()) != eof)
 {
 //[Enter] = CRLF = \r\n
 if (car == '\r') continue; //Le sigue un \n
 ncaracteres++; //Contador de caracteres
 
 //Eliminar blancos, tabuladores y finales de linea entre palabras
 if (car == ' ' || car == '\n' || car == '\t')
 palabra  = false;
 else if (!palabra)//comienza una palabra
 {
 npalabras++; //contador de palabras
 palabra = true;
 }
 if (car == '\n')//Finaliza una linea
 nlineas++;
 }
 System.out.println();
 System.out.println(ncaracteres + " " + npalabras + " " + nlineas);
 }
 catch(IOException ignorada){}
 }
 }
 
- 
				Yo lo compilo y parece que funciona bien ¿cuándo te funciona mal, quiero decir, con qué palabras te funciona mal?
			
- 
				hola amigo, a mi tambien me funciono el código, solo que al momento de apretar control+z, no terminaba la ejecución y cambie tu atributo eof final char eof = (char) '1';entonces al momento de apretar "1" termina la ejecución y muestra los resultados
 import java.io.*;
 
 public class CContarPalabras
 {
 public static void main(String[] args) //Contar caracteres, palabras y lineas en un texto
 {
 final char eof = (char) '1';
 char car;
 boolean palabra = false;
 int ncaracteres = 0, npalabras = 0, nlineas = 0;
 
 try
 {
 System.out.println("Introducir texto. " + "Pulse [Enter] despues de cada linea.");
 System.out.println("Para finalizar pulsar Ctrl+z.\n");
 
 while ((car = (char)System.in.read()) != eof)
 {
 //[Enter] = CRLF = \r\n
 if (car == '\r') continue; //Le sigue un \n
 ncaracteres++; //Contador de caracteres
 
 //Eliminar blancos, tabuladores y finales de linea entre palabras
 if (car == ' ' || car == '\n' || car == '\t')
 palabra  = false;
 else if (!palabra)//comienza una palabra
 {
 npalabras++; //contador de palabras
 palabra = true;
 }
 if (car == '\n')//Finaliza una linea
 nlineas++;
 }
 System.out.println();
 System.out.println(ncaracteres + " " + npalabras + " " + nlineas);
 }
 catch(IOException ignorada){}
 }
 }