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
}
}