Informazioni Cicli

di il
2 risposte

Informazioni Cicli

Salve,

sono un neofita e vi chiedo che struttura di controllo utilizzare per tornare all'inizio del ciclo dopo che l'utente fa una scelta sbagliata oppure decide di continuare a lanciare il dado, come potete notare dal codice:

public RipetizioneDado(){
System.out.println("Per Dado Standard premi 1");
System.out.println("Per impostare Facce dado premi 2");
scelta = s.nextInt();
if (scelta == 1) {
numFacce = gen.nextInt(6)+1;
lancio();
stampaRis();

System.out.println("vuoi continuare? (s/n)");
String risp = s.next();
InputChecker input = new InputChecker(risp);
System.out.println(input.risposta());

}else if (scelta == 2) {
System.out.println("Inserisci Num Facce: ");
int valore = s.nextInt();
System.out.println("Il Dado avrà: "+ valore + " Facce");
numFacce = gen.nextInt(valore)+1;
lancio();
stampaRis();
}else {
System.out.println("ERRORE SCELTA!\n RIAVVIA...");

}

Non fate caso all'esercizio l'ho inventato io...

2 Risposte

  • Re: Informazioni Cicli

    Un banale ciclo do .. while.
    
    do {
    
       scelta = s.nextInt();
       ...
       
    } while ((scelta < 1) || (scelta > 2));
    
    In questo caso, il ciclo do while viene ripetuto finchè l'utente inserisce un valore minore di 1 o maggiore di 2 (che dal tuo esempio sembrano essere le uniche scelte accettate). Si esce dal loop solo se l'utente ha scelto 1 oppure 2.

    PS: Attenzione, che dopo aver letto da tastiera il valore della scelta dell'utente, dovresti pulire il buffer dal INVIO che ancora rimane nello Scanner, usando un readLine() a vuoto).
  • Re: Informazioni Cicli

    @LeleFT ti ringrazio! Sei stato gentilissimo.
    Buon proseguimento di giornata.
Devi accedere o registrarti per scrivere nel forum
2 risposte