Autor Tema: Contar caracteres, palabras y lineas en un texto con Java  (Leído 43601 veces)

kekokore

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
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){}
 }   
}
« Última modificación: 20 de Septiembre 2014, 18:12 por Alex Rodríguez »

DrKlauss

  • Sin experiencia
  • *
  • Mensajes: 27
    • Ver Perfil
Re:Alguien me puede decir cual es el problema en este codigo java :c
« Respuesta #1 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?

ledesma90

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 42
    • Ver Perfil
Re:Alguien me puede decir cual es el problema en este codigo java :c
« Respuesta #2 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){}
 }   
}

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".