J'ai essayé de faire un code robuste sur Java, mais cela ne semble pas fonctionner. Ce que je recherche est pour un utilisateur d'entrer une entrée, le programme vérifiera l'entrée si ce n'est pas une entrée requise, alors l'utilisateur aura une option pour entrer à nouveau l'entrée appropriée jusqu'à ce que l'entrée corresponde aux entrées requises, ou simplement quitter. Voici ce que j'ai jusqu'ici. Quand je cours ce code, tout fonctionne bien sauf quand un utilisateur entre une mauvaise entrée et veut quitter. La boucle while continue à fonctionner et ne s'arrête pas même lorsqu'un utilisateur entre de nouveau dans une entrée correcte ou quitte. Comment puis-je faire ce travail?Comment puis-je faire en sorte que cette robustesse fonctionne en utilisant l'entrée de l'utilisateur?
//question
System.out.println("Summer, Winter, Fall, or Spring");
System.out.print("Which season is your favarite? ");
String favSeason = in.next();
System.out.println();
//Control the inputs by converting them to Upper Case
String favSeasonInput = favSeason.toUpperCase();
//required answers of the question
String seasons = "SUMMER, WINTER, FALL, SPRING?";
String quit = "QUIT!";
boolean isSeasons = (favSeasonInput.equals(seasons.substring(0, 6)) ||
favSeasonInput.equals(seasons.substring(8, 14)) ||
favSeasonInput.equals(seasons.substring(16, 20)) ||
favSeasonInput.equals(seasons.substring(22, 28)));
boolean isQuit = favSeasonInput.equals(quit.substring(0, 4));
//inialize variables that will compute scores
int favSeasonScore = 0;
//if user enters an input otherthan seasons
while (!isSeasons){
favSeason = in.next();
if(isQuit){
System.exit(0);
}
}
//Conditions to set up scores for seasons
if(favSeasonInput.equals(seasons.substring(0, 6))){
favSeasonScore = 6;
System.out.println("Summer is " + favSeasonScore + " points");
}
else if(favSeasonInput.equals(seasons.substring(8, 14))){
favSeasonScore = 14;
System.out.println("Winter is " + favSeasonScore + " points");
}
else if(favSeasonInput.equals(seasons.substring(16, 20))){
favSeasonScore = 20;
System.out.println("Fall is " + favSeasonScore + " points");
}
else if(favSeasonInput.equals(seasons.substring(22, 28))){
favSeasonScore = 28;
System.out.println("Spring is " + favSeasonScore + " points");
}
System.out.println(favSeasonScore);
ne pas inclure le code comme une image collez-le ici – Lokesh
s'il vous plaît coller votre code ici et explai n quelle erreur vous recevez –
quel est le problème avec votre code existant? –