Salve a tutti,
sto scrivendo un programma che crea una sorta di archivio di domande per un quiz, e mediante interfaccia utente (via console) dā la possibilitā all'utente di scegliere, tramite un apposito menų, se giocarci, aggiungerci domande, salvare e caricare i dati e fare una ricerca nell'archivio.
Non mi viene facilissimo
Vi posto il menų:
codice:
public class ArchivioDomande {
public static void main(String[] args) { // ?
char inizio;
System.out.println("Cosa vuoi fare? ");
System.out.println("[a] : A per giocare");
System.out.println("[b] : B per aggiungere una domanda al database");
System.out.println("[c] : C per cercare nel database ");
System.out.println("[d] : D per salvare le modifiche");
System.out.println("[e] : E per caricare un database ");
System.out.println("[x] : X per uscire");
inizio = Input.readChar("Scegli una delle possibilitā appena descritte: ");
Qual č il problema?
Secondo me č molto semplice, e non č l'ultimo dei problemi che ho, che sono tantissimi.
Prendiamo come postulato che non posso usare lo switch, ma devo fare delle sottoclassi per ognuna queste voci nel menų.
Prendiamo ad esempio che io voglia aggiungere una domanda:
Questo č quello che ho scritto: (il vettore domanda č definito in una altro foglio)
codice:
if (inizio == 'b') {
// costruisci un nuovo oggetto di tipo domanda
Vector<String> answers = new Vector<String>();
int j = 0; //<===
int z = 0;
String argument = Input.readString("Inserire l'argomento della domanda: ");
String text = Input.readString("Inserire il testo della domanda: ");
// mettere un numero minimo di risposte
while (true) {
String newAns = Input.readString("Inserisci una possibile risposta (lascia vuoto per terminare): ");
if (newAns.equals("") && (z>3)) { // z impedisce di inserire un minore minore di 3 risposte
break;
}
answers.add(newAns);
z++; // z si incrementa ad ogni domanda inserita correttamente
}
System.out.println("Lista domande inserite:");
for (int i = 0; i < answers.size(); i++) {
System.out.println("" + (i+1) + ") " + answers.get(i));
j++;
}
while (true) { //<=== ??
int correctAnswer = Input.readInt("Inserire risposta corretta: ");
if (correctAnswer <= j) {
break;
}
}
int points = Input.readInt("Inserire punteggio della domanda: ");
return;
}
Non sono molto sicuro dei "return", ma la console non dā errori e la funzione va, ma una volta che io inserisco il record (domanda, risposte, risposta corretta etc. etc.).
Il problema al momento č questo, anzi sono due:
- come creare una sottoclasse relativa alla scelta 'B'
- come uscire, ovvero tornare al menų, una volta inserito il record
Ringrazio tutti in anticipo!!