Salve a tutti,
il codice che vedete qui sotto svolge una semplicissima funzione: chiede all'utente di inserire un valore compreso tra 1 e 7 e il programma stamperà a video il giorno della settimana corrispondente. Ci sono due controlli:
1- Il numero inserito non deve essere minore di 1 e maggiore di 7.
2- L'utente non deve inserire caratteri all'interno della variabile int.
Entrambi funzionano, ma volevo sapere se vi fosse un metodo per far reinserire il valore anche se l'utente inserisce una lettera anziché farlo interrompere. Ecco il codice;
il codice che vedete qui sotto svolge una semplicissima funzione: chiede all'utente di inserire un valore compreso tra 1 e 7 e il programma stamperà a video il giorno della settimana corrispondente. Ci sono due controlli:
1- Il numero inserito non deve essere minore di 1 e maggiore di 7.
2- L'utente non deve inserire caratteri all'interno della variabile int.
Entrambi funzionano, ma volevo sapere se vi fosse un metodo per far reinserire il valore anche se l'utente inserisce una lettera anziché farlo interrompere. Ecco il codice;
Java:
import java.util.Scanner;
public class GiornoDellaSettimana {
public static void main(String[] args) {
Scanner inputInt=new Scanner(System.in);
System.out.print("Inserisci il numero del giorno della settimana: ");
int giorno=0;
boolean controllo;
do {
controllo=inputInt.hasNextInt();
if(controllo) {
giorno=inputInt.nextInt();
if(giorno<1 || giorno>7) {
System.out.print("Valore errato!!! Inseriscine uno compreso tra 1 e 7: ");
continue;
}
giornoSettimana(giorno);
}
else {
System.out.print("Hai inserito un LETTERA nel valore!!! Il programma \u00E8 stato interrotto.");
return;
}
inputInt.close();
}while(giorno<1 || giorno>7);
}
public static void giornoSettimana(int giorno) {
switch(giorno) {
case 1:
System.out.print("Il giorno numero " +giorno +" della settimana \u00E8 Luned\u00EC.");
break;
case 2:
System.out.print("Il giorno numero " +giorno +" della settimana \u00E8 Marted\u00EC.");
break;
case 3:
System.out.print("Il giorno numero " +giorno +" della settimana \u00E8 Mercoled\u00EC.");
break;
case 4:
System.out.print("Il giorno numero " +giorno +" della settimana \u00E8 Gioved\u00EC.");
break;
case 5:
System.out.print("Il giorno numero " +giorno +" della settimana \u00E8 Venerd\u00EC.");
break;
case 6:
System.out.print("Il giorno numero " +giorno +" della settimana \u00E8 Sabato.");
break;
case 7:
System.out.print("Il giorno numero " +giorno +" della settimana \u00E8 Domenica.");
break;
}
}
}