Ciao di nuovo!
Dopo vari tentativi sono arrivato a questo:
codice:
public static class MyThread extends java.util.TimerTask {
public void run() {
// Contiene il processo da eseguire in background
// GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("GMT+2"));
try {
BufferedReader input = new BufferedReader(new FileReader("domande.txt"));
ArrayList<String[]> quiz = new ArrayList<String[]> ();
String[][] mappa = new String[0][] ;
String text;
//Integer x = 0, y = 0;
while ((text = input.readLine()) != null)
quiz.add(text.split(";"));
UUID id = UUID.randomUUID();
domandaId = id.toString();
Collections.shuffle(quiz);
mappa = quiz.toArray(mappa);
int x = (int)Math.random() * 4;
//int y = (int)Math.random() ;
q = mappa[x][0];
dataChiusura = minute + 3;
r = mappa[x][1];
input.close();
System.out.printf("Domanda disponibile:" + q + "\n" + "ID:" + domandaId + "\n\n");
System.out.printf("Risposta corretta:" + r + "\n" + "ID:" + domandaId + "\n\n");
} catch (IOException ioException) {
}
} // run()
}
public static void main(String[] args) throws ElementNotFoundException, GraphParseException
{
MyThread mt = new MyThread();
java.util.Timer timer = new java.util.Timer();
timer.schedule(mt,0,120000);
int j = 60000;
// Qui c'è il codice dell'applicazione principale
for (int i=0; i<j; i++) {
j = j + 10000;
new Server();
}
}
Poi c'è il metodo getQuiz richiamabile dall'utente che stampa a console l'id della domanda, la domanda stessa e la data di scadenza.
Il codice che ho postato praticamente mi estrae ogni due minuti una domanda random dal file come volevo però queste vengono sovrascritte, quindi ogni due minuti mi viene sottoposta una nuova domanda, quello che invece devo fare è che le domande siano tutte disponibili finchè non scadono, quindi devo trovare il modo di salvarle tutte in un qualche contenitore e applicare un controllo che in caso dataScadenza sia uguale a orario attuale(ore e minuti) elimini la domanda da quelle disponibili ma fin ora non sono riuscito ad ottenere niente...qualcuno vedendo il mio codice saprebbe darmi una mano? Grazie!