0

Buenos dias tengo un problema y es que pido un dato por teclado y me arroja enseguida error, añadí los imports ya revise todo pero no entiendo porque me da error, otra ultima pregunta y es que es un poco fastidioso añadir los throws en cada metodo cuando use los br, como puedo hacer simplificar esto, si alguien me puede decir porque pasa esto estaria agracedido gracias

   import java.io.BufferedReader;
    import java.io.IOException;
   import java.util.ArrayList;

public class AutoMovilesMejorado {

public BufferedReader br;

ArrayList<Cliente> listaCliente = new ArrayList();


private void mostrarOpciones() {
    String cadenaMenu = "\n Cocesionario Don Pipe. ";
    cadenaMenu += "\n1. Ingresar Datos. ";
    cadenaMenu += "\n2. Comprar Autos. ";
    System.out.println(cadenaMenu);
  }

 public void desplegarMenu() throws IOException {
    mostrarOpciones();
    System.out.print("Seleccione una opción: ");
    int opcionSeleccionada = Integer.parseInt(br.readLine());  //aqui me da error enseguida
    ejecutarOpcion(opcionSeleccionada);
    desplegarMenu(); 
   }

public static void main(String[] args) throws IOException {
    try{
   AutoMovilesMejorado project = new AutoMovilesMejorado();
   project.desplegarMenu();
    } catch(Exception e){
        System.out.println("Error");
    }
   }

Este es el error ni siquiera me dejar pedir datos ayudaaa

  • `public BufferedReader br;` genial declaración de la variable, pero no la asignas en ningún momento. Si escribes `String nombre;`, e intentas hacer un `System.out.println(nombre);` va a aparecer tu nombre o el mio? Pues ni uno, ni otro me temo. Va a aparecer la temida dama de rojo, tu amiga, tu amante, tu confidente, la [NPE](https://es.stackoverflow.com/questions/42977/cu%C3%A1l-es-la-soluci%C3%B3n-a-todos-los-errores-nullpointerexception-presentes-pasados). Porque ***no se pueden utilizar objetos que no han sido instanciados, puesto que no existen***. Lee el enlace, y lo entenderás. – Benito-B Dec 22 '20 at 16:50
  • ya entendi gracias oye sobre los trows que me recomiendas hacer? – Juan Felipe Jimenez Pacheco Dec 22 '20 at 17:05
  • Pues depende de la excepción que sea, pero hacer un `catch(Exception e){System.out.println("Error");}` el día que tengas un error y no seas capaz de ver donde, leer "Error" en consola no te va a dar mucha información... como mínimo, además de `"error"` imprime la excepción!. Si quieres más información al respecto, googlea. Hay MUCHÍSIMAS cosas que se pueden hacer con una excepción, dependiendo de la excepción que sea. Pero eso lo pillarás con la práctica, no te preocupes mucho por eso ahora – Benito-B Dec 22 '20 at 17:09

0 Answers0