le programme peut-il être interrompu prématurément à partir d'un stade
Nov 25 2020
Je fais un simple "jeu" où l'utilisateur se voit poser une question et doit donner la bonne réponse pour avancer. C'est le code que j'ai actuellement pour l'une des questions.
public static void Mascot() {
Scanner console = new Scanner(System.in);
System.out.println("what Is our school mascot?");
String Tony = console.nextLine();
String b = Tony;
Scanner scanner= new Scanner(b);
if (scanner.hasNext("tiger")){
System.out.println("Good, next riddle.");
} else{
}
scanner.close();
console.close();
}
Je veux que l'instruction if soit insensible à la casse et renvoie true si tiger est entré dans le scanner. comme quelqu'un pourrait entrer une phrase complète dans le scanner et si le mot tigre est n'importe où, il revient comme vrai. mais si tigre (ou toute autre réponse incorrecte pour toute autre question est entrée dans le scanner, je veux que le programme s'arrête et ne passe pas à la question suivante.
Réponses
1 VinodJayachandran Nov 26 2020 at 05:45
Deux choses à noter ici.
- La poursuite ou non du jeu devrait idéalement être contrôlée par l'appelant de la méthode. L'appelant de la méthode doit décider en fonction de la valeur de retour true ou false
- Pour accommoder (1) la signature de la méthode doit changer. Cela ne peut pas être nul. Cela devrait être booléen.
- Vous n'avez pas besoin du deuxième objet scanner pour vérifier s'il contient un tigre
Veuillez vérifier si ce code vous aide
public static boolean Mascot() {
Scanner console = new Scanner(System.in);
try {
System.out.println("what Is our school mascot?");
String b = console.nextLine();
if (b.toLowerCase().contains("tiger")){
System.out.println("Good, next riddle.");
return true;
} else{
return false;
}
}
catch(Exception e) {
System.out.println("Exception Occurred");
}
finally {
console.close();
}
return false;
}