Ora vorrei intercettare immissioni di caratteri che non corrispondono ad alcuna giocata, poiché se digito E, mi chiede quanto voglio puntare, poi l'if è true e cerca di convertirlo in int per confrontarlo col valore casuale che ottengo dal random() adattato tra 1 e 36.
Attualmente il programma lancia una NumberFormatException quando trova
codice:
int numeroGiocato = Integer.parseInt(giocata);
ma vorrei che intercettasse la stringa non valida prima di chiedere la puntata...
Sto pensando a lanciare un metodo che verifichi le immissioni, ma non riesco a comporre un confronto booleano multiplo e "compatto" che qualora sia false provochi
codice:
throw NumberFormatException
Ho visto che c'è matches() di String, ma non so come adattarlo.
Edit:
ho provato così
codice:
if (!(giocata.equals("N") || giocata.equals("R") || giocata.equals("P") || giocata.equals("D") || giocata.equals("A") || giocata.equals("B") || giocata.equals("C"))) {
throw new NumberFormatException("Opzione di gioco non valida");
}
Ma intercetto anche le String che poi potrei convertire in int.