Problem with Arrays (student)

0

I am a student and I can not make this code work. I think the problem comes with the handling of Arrays but I can not find out why it does not work.

  public class A1IntroduirDNI {
    static int MAXDNI = 10;
    String[] dniLista = new String[MAXDNI];
    Scanner scan = new Scanner(System.in);
    String dniActual;
    boolean repetit = false;
    int comptador = 1;

    public static void main(String[] args) {
        //adapteu la instanciació del programa d'acord amb el fitxer on treballeu
        A1IntroduirDNI prg = new A1IntroduirDNI();

        prg.inici();
    }

    //Programa principal. Anirà demanat dni's fins que introduint un 0 o omplint l'array de 10 posicions
    private void inici(){

            //todo 
 //            do {   
                demanarDNI();

//            } while (dniLista.length < MAXDNI );

    }

    //Aquesta funció demana un DNI  i si l'entrada és buida dona un missatge, no deixa entrar valors buits. El dni es guardarà a una variable global

    private void demanarDNI(){

            System.out.print("Entra el dni ");
            dniActual = scan.nextLine();
           if (dniActual.compareTo("0") != 0) {
                //buscar dni
              buscarDNI();
                //si trobem dni mostrar dni repetit
               if (repetit == true) {
                    System.out.println("DNI repetit");
              }else{
                     //sino afegir dni y aunmentar numero del comptador

                    dniLista[comptador] = dniActual;
                   comptador++;  
                }
            }

        }

    //Funció que busca si el dni introduït està repetit, si el troba haurà de marcar una variable  indicant que ha trobat el dni 
    private void buscarDNI(){

            for (int j = 0; j < dniLista.length; j++) {

                int result = dniLista[j].compareTo(dniActual);

                if (result == 0) {
                    repetit = true;
                }
            }
    }

    //mostra tots els dni's de l'array
    private void mostrarArrayDNI(){
        for (int i = 0; i < dniLista.length; i++) {
                    System.out.println(dniLista[i]);
                }
                //mostrar array
    }

}
    
asked by Berni Del Gado 27.09.2018 в 18:38
source

0 answers