Ciao,
sto impazzendo con un esercizio che mi chiede di scrivere un programma che legge in input un file di testo contenente righe tipo questa:
01 Bologna BLQ Roma FCO Alitalia 15:00 16:00
e chiede iterativamente all'utente di quale città vuole informazioni sui voli in partenza e in arrivo per quella città, stampando a video i risultati richiesti.
Dunque ho creato la classe Voli che definisce tutte le variabili di classe e i costruttori relativi con metodi set e get, e quella è banale e ve la risparmio.
Sono riuscita a creare l'arraylist e riempirlo con i valori messi in input dal file (tramite Scanner), il programma funziona ma solo in parte, infatti qualunque città io metta in input non mi restituisce nessun risultato ma mi continua a chiedere quale città voglio finché non premo il carattere di escape.
Vi copincollo il pezzo di codice in cui secondo me ho il problema:
codice:
private static void startInterfaccia() {
// stabilisco una variabile di controllo per verificare se l'utente ha annullato l'operazione
boolean utenteAnnulla=false;
do {
Scanner utenteInput=new Scanner(System.in);
System.out.println("Quale volo vuoi cercare? (premi q per terminare)");
String cittaCercata=utenteInput.nextLine();
if (!cittaCercata.equals("q")) {
for (int i=0; i<listVoli.size() && cittaCercata==null; i++) {
Voli thisVolo=listVoli.get(i);
if (cittaCercata != null && !thisVolo.getCittPart().equals(cittaCercata))
System.out.println(listVoli.get(i));
else
System.out.println("Non ci sono voli per quella citta'!");
}
}
else
utenteAnnulla=true;
}
while (!utenteAnnulla);
}
Se serve posso postare il resto del codice, ma sostanzialmente dopo questo c'e' il main che fa partire il programma chiedendo in input il nome del file in cui cercare, mentre prima c'e' la deifnizione dell'oggetto scanner in un arrayList in cui confluiscono i dati letti in input riga per riga.
Qualcosa mi sfugge di sicuro
Grazie!