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

Título: Contar caracteres, palabras y lineas en un texto con Java
Publicado 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){}
 }   
}
Título: Re:Alguien me puede decir cual es el problema en este codigo java :c
Publicado por: DrKlauss en 17 de Mayo 2013, 08:23
Yo lo compilo y parece que funciona bien ¿cuándo te funciona mal, quiero decir, con qué palabras te funciona mal?
Título: Re:Alguien me puede decir cual es el problema en este codigo java :c
Publicado por: ledesma90 en 17 de Mayo 2013, 17:27
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
Código: [Seleccionar]
final char eof = (char) '1'; entonces al momento de apretar "1" termina la ejecución y muestra los resultados
Código: [Seleccionar]
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){}
 }   
}