Java - Problema al ejecutar código

 
Vista:
sin imagen de perfil

Problema al ejecutar código

Publicado por Gonzalo (10 intervenciones) el 04/04/2022 17:34:30
Buenas tardes, estoy teniendo problemas al ejecutar un código para un ejercicio de práctica que estoy haciendo. Me pide desarrollar un programa con una clase contador con una propiedad ruta al archivo y un método que cuente las palabras contenidas en el, además de desarrollar una clase main para probarlo. De momento este es el código que tengo.

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
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
 
        boolean ejecucion=true;
 
        do{
         System.out.println("Escoger el programa de contar palabras");
         int opcion = Integer.parseInt(leerTeclado());
         switch(opcion){
             case 1:{
                 contarPalabrasArchivo();
                 break;
             }
             default:{
                 System.out.println("Opcion no valida");
                 break;
             }
         }
        }while(ejecucion);
    }
 
 
 
    public static String leerTeclado (){
    String retorno="";
    Scanner sc= new Scanner(System.in);
    retorno = sc.nextLine();
    return retorno;
    }
 
    public static void contarPalabrasArchivo(){
        Contador contador = new Contador();
        System.out.println("Introduzca la ruta");
        contador.setArchivo(new File(leerTeclado()));
        contador.contarPalabras();
    }
}

Esta sería la clase Main.
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
public class Contador {
 
 
    File archivo;
 
    public File getArchivo() {
        return archivo;
    }
 
    public void setArchivo(File archivo) {
        this.archivo = archivo;
    }
 
    public Contador(File archivo) {
        this.archivo = archivo;
    }
 
    public Contador() {
    }
 
    //Metodo de lectura
 
    public void contarPalabras(){
        try(BufferedReader bfr = new BufferedReader(new FileReader(archivo))){
            String linea= bfr.readLine();
            int contador = 0;
            while (linea!=null){
                String palabras[]=linea.split(" ");
                contador+=palabras.length;
                System.out.println(linea);
                linea= bfr.readLine();
            }
            System.out.println("El numero de palabras obtenido es de " +contador);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Contador.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Contador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
 
 
 
}

Esta la clase contador. Saludos
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema al ejecutar código

Publicado por Kabuto (1381 intervenciones) el 04/04/2022 19:32:18
¿Y cuál es el problema?
La clase Contador parece correcta.

En el main, veo innecesario poner un switch, porque no es cierto que hayan varios "programas" para elegir, solo hay uno.

Y si vas a ponerlo, añade una opción donde el valor de la variable "ejecucion" cambie a false para poder terminar el programa. Tal y como esta ahora, siempre vale true así que el bucle es infinito
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
sin imagen de perfil

Problema al ejecutar código

Publicado por Gonzalo (10 intervenciones) el 04/04/2022 23:28:55
Salta el error y no se ejecuta. No se cual es el fallo porque en teoría parece todo correcto. El switch lo hice para tener un menu hecho para otros ejercicios y fui probando este.
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema al ejecutar código

Publicado por Kabuto (1381 intervenciones) el 05/04/2022 12:09:44
Vale, "salta el error".. ¿pero que error? ¿Que mensaje da? ¿NullPointerException, RunTime Exception?

El "error" normalmente da una descripción e incluso señala que línea del código ha sido la que lo ha provocado.

A ver si puedes mostrar una captura del error, o copiar el texto de este.
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