salve,
vi spiego il problema che mi affligge da troppo tempo!
ho 2 file, uno contenente matricola e password chiamato iscritti.txt,l'altro contenente data,matricola e fascia oraria chiamato prenotazioni.txt
Devo compilare un form con matricola password e fascia oraria e salvarlo e devo rispettare i seguenti vincoli:
-la matricola deve corrispondere ad una di quelle presente nell'elenco degli iscritti al corso
-la password indicata deve corrispondere a quella indicata nel medesimo elenco, per il numero di matricola specificato
-per la giornata richiesta non deve essere presente nessuna prenotazioni in capo al numero di matricola indicato, in qualunque fascia oraria.
Per i primi 2 punti ci sono.. il terzo mi crea conflitto con i primi 2. in particolare ad esempio se inserisco matricola giusta e password sbagliata mi dice che la prenotazione è già avvenuta, invece vorre che mi dicesse che la password è sbagliata.
vi posto il codice
actionperformed del pulsante per salvare
codice:
if(check1()){
System.out.println("Check1 ok");
if(check2()){
System.out.println("Check2 ok");
if(check3()){
System.out.println("Check3 ok");
}
else{
errore.setText("Sei già registrato per oggi!");
}
}
else{
//errore.setText("Matricola o password errata");
errore.setText("Matricola o password errata");
System.out.println("Check2 errata");
}
}
check2
for(int i=0; i<mm.getIscritti();i++){
if(getMatr().getText().equals(mm.getIscritto(i).getMatricola())){
errore.setText("Password errata");
if(getPass().getText().equals(mm.getIscritto(i).getPassword())){
errore.setText(mm.getIscritto(i).getMatricola()+"Registrato! Ore: "+fo.getSelectedItem());
return true;
}
}
}
return true;
}
public boolean check3(){
for(int j=0; j<mm.getPrenotazioni(); j++){
String curr_matr=getMatr().getText();
if(mm.getPrenotato(j).getMatr().equals(curr_matr)){
errore.setText("Prenotazione già avvenuta per oggi!");
return false;
}
}
return true;
}
}
il check1 controlla l'inserimento di virgole o punti.. se volete posto anche quello.
Aiuto please!