Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    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.
    Ultima modifica di Gas75; 17-04-2022 a 18:40

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Gas75 Visualizza il messaggio
    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.
    Con Scanner si può benissimo trattare un singolo input come numero o stringa. Se accetti es. "N", "R", "P", "D" o numero, allora:

    Prima testi hasNextInt(), se true estrai il token già come numero con nextInt() (poi chiaramente andrà testato se nel range richiesto). Se false, estrai il token come stringa con next() e testi se N/R/P/D.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.