Salve,
sto scrivendo una classe Java che esegue una serie di test classici (uguaglianza tra String con equals(), operatori logici && e ||, operatori ternari...).
Funziona tutto, tranne che per lo switch dove vorrei poter immettere, tramite la classe Scanner, il giorno della settimana e da lì gestire un messaggio. Funziona anche lo switch ma non compare il messaggio previsto.
Questo è il codice relativo:
codice:
import java.util.Scanner;
import java.io.IOException;
public class TestVari {
public static void main(String[] args) throws IOException {
String giorno = leggiGiorno("Immetti il giorno della settimana odierna, senza accento");
switch(giorno.toLowerCase()) {
case "mercoledi":
System.out.println("Oggi e' " + giorno + ": Palestra");
break;
case "venerdi":
System.out.println("Oggi e' " + giorno + ": Lezione");
break;
case "sabato":
case "domenica":
System.out.println("Oggi e' " + giorno + ": Week end");
break;
default:
System.out.println("Oggi e' " + giorno + ": Studiare da casa");
break;
}
}
public static String leggiGiorno(String msg) {
String day = "";
Scanner input = new Scanner(System.in);
day = input.next();
return day;
}
}
Sto volutamente trascurando la gestione di eccezioni causate dall'immissione di String non previste dallo switch proprio per capire perché non stampa il messaggio passato come argomento di leggiGiorno().