Java - Ayuda con programa java

 
Vista:
sin imagen de perfil

Ayuda con programa java

Publicado por mauricio (3 intervenciones) el 06/09/2014 01:32:28
Hola! bueno tengo un programa que utiliza Scanner cuenta palabras quita espacios y debe contar tambien las lineas ingresadas (aqui el problema que no se como implementar esto, a la hora de dar "enter" el ususario pueda seguir escribiendo y ejecutar a la hora de escribir algun signo declarado($)), y tambien debe de eliminar el texto que este entre comentarios es decir a la hora de ejecutar debe resultar asi:

Ingresa tu texto:

hola foro /* aprender a
programar */
adios
$

TU TEXTO SIN ESPACIOS NI COMENTARIOS:
holaforoadios
NUM PALABRAS:8
NUM LINEAS:3
BUILD SUCCESSFUL (total time: 6 seconds)


Soy muy nuevo en esto y he buscado he intentado mucho pero no lo he logrado aunque no se si sea necesario usar exp regulares si alguien pudiera ayudarme por favor se lo agradezco desde ya, les dejo el codigo de lo que llevo hecho. :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package compiladores;
 
import java.io.IOException;
import java.util.Scanner;
import java.util.StringTokenizer;
/**
 *
 * @author Usuario
 */
public class NewClas65 {
    public static void main(String[] args)
 {
  String texto;
 
final char condicion = (char) '*';
int j =1,l=1;
 
   String replace="";
 
 
  System.out.println("Escribe tu texto:");
 
texto= new Scanner(System.in).nextLine();
char[] cadena = texto.toCharArray();
 
 
 
 
 
for(int i=0; i<texto.length(); i++)
    if(texto.charAt(i)== ' ' || texto.charAt(i) == '\n' || texto.charAt(i)== '\t')j++; {
    }
 
 
    for(int i=0; i<texto.length(); i++)
    if(texto.charAt(i)=='\n')l++;{
 
 }
 
    if (texto.contains("*/")){
        replace=texto.replaceAll(",","");
 
    }
 
 
 
 
       System.out.println("TU TEXTO SIN ESPACIOS NI COMENTARIOS: ");
     System.out.println(texto.replaceAll("\\s",""));
 
             System.out.println("NUM PALABRAS: "+j);
             System.out.println("NUM LINEAS: "+l);
 
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda con programa java

Publicado por Pedro (81 intervenciones) el 06/09/2014 17:02:00
Buenas

Analicemos tu código paso a paso:

1- Cuando inicias se ejecuta el método main, dentro de este lo primero que haces es declarar una serie de variables y constantes.

2- La ejecución avanza hasta la línea

1
texto= new Scanner(System.in).nextLine();

Aquí el programa espera a que el usuario introduzca una línea por la consola, es decir, escribes y cuando pulsas Enter llega la línea.

3- La línea captada se convierte a un array de caracteres

1
char[] cadena = texto.toCharArray();

4- La ejecución continua hasta el final del main y acaba el programa.


¿De estos pasos cual debe repetirse para que te funcione bien?

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar