0

I need help, with the error report ( Exception in thread "main" java.lang.NullPointerException: Cannot store to object array because "datosTitular" is null).

I'm doing a Bank Accounts application and I'm checking if the holder exists or not.

public static String[] pedirDatosTitular(String dni) {
        @SuppressWarnings("resource")
        Scanner dato = new Scanner(System.in);
        String[] datosTitular = new String[3];

        datosTitular = banco.getDatosTitularCuenta(dni);

        
        if (Objects.nonNull(datosTitular)) {
            System.out.println("El cliente ya existe:\n");
            System.out.println("Nombre: " + datosTitular[0]);
            System.out.println("Apellidos: " + datosTitular[1]);
            System.out.println("DNI: " + datosTitular[2]);

        } else {

            System.out.print("Nombre: ");
            datosTitular[0] = dato.nextLine();
            System.out.print("Apellidos: ");
            datosTitular[1] = dato.nextLine();
        }
        return datosTitular;
    }

Adjunto el método getDatosTitularCuenta(dni);

  public String[] getDatosTitularCuenta(String dni) {
    
    /*Mientras no encuentre una posición en el array nula, buscamos
    un cliente con el que coincida el DNI */
    String[] titular = null;
    for (CuentaBancaria cuenta : cb) 
        if (Objects.isNull(cuenta))  break;
        else if (cuenta.getTitular().dameDni().equals(dni)) {
            // Si encuentra una coincidencia guarda en un array de String los datos del titular.
            titular = new String[3];
            
            titular[0] = cuenta.getTitular().dameNombre();
            titular[1] = cuenta.getTitular().dameApellidos();
            titular[2] = cuenta.getTitular().dameDni();
        }
    

    return titular;
}
Juan LLC
  • 1
  • 1
  • 1
    if `datosTitular` is `null` (in `else` block - no client found) you cannot access or assign to `datosTitular[0]` - create a new array to receive the values from user – user16320675 Feb 28 '22 at 11:53

0 Answers0