Salve ho eseguito un esercizio che chiede mi la cosa seguente :
Scrivere un programma che stampi la domanda “Vuoi continuare?” e che attenda
dati dall’utente. Se l’utente immette “S”, “Sì”, “Ok”, “Certo” o “Perché no?”,
stampare “OK”. Se l’utente scrive “N” o “No”, stampare “Fine”. Negli altri casi,
stampare “Dato non corretto”. Non considerare differenze tra maiuscolo e
minuscolo, quindi anche “s” e “sì” sono validi.
Io ho fatto 2 classi:
e l'altra :codice:public class InputChecker { private String c; InputChecker(String b){ c = b.toUpperCase(); //trasforma la stringa b inserita in maiuscolo if(c=="SI"|| c=="CIAO"|| c=="S" || c=="CERTO"){ System.out.println("OK"); } else if(c=="N" || c=="NO"){ System.out.println("Fine"); } else{ System.out.println("Dati non corretti"); } } public String get_c(){ return c; //utile per vedere cosa gli arriva in c } }
Il programma mi rende sempre "Dati non corretti" anche mettendo dati giusti (ho usato il get_c per vederecodice:import java.util.Scanner ; public class ProvaInputChecker { public static void main(String[] args) { Scanner b = new Scanner(System.in) ; System .out.println("Vuoi Continuare?"); String a = b.next(); InputChecker d = new InputChecker(a); System.out.println(d.get_c()); // l'ho inserita dopo per vedere cosa arrivava in c (per l' IF) } }

Rispondi quotando