Kann das Programm innerhalb einer bestimmten Frist vorzeitig beendet werden?
Ich mache ein einfaches "Spiel", in dem dem Benutzer eine Frage gestellt wird und er die richtige Antwort geben muss, um fortzufahren. Dies ist der Code, den ich derzeit für eine der Fragen habe.
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();
}
Ich möchte, dass bei der if-Anweisung die Groß- und Kleinschreibung nicht berücksichtigt wird und true zurückgegeben wird, wenn Tiger überhaupt in den Scanner eingegeben wird. als ob jemand einen vollständigen Satz in den Scanner eingeben könnte und wenn das Wort Tiger irgendwo ist, wird es als wahr zurückgegeben. Wenn jedoch Tiger (oder eine andere falsche Antwort auf eine andere Frage in den Scanner eingegeben wird), soll das Programm gestoppt werden und nicht mit der nächsten Frage fortgefahren werden.
Antworten
Ein paar Dinge, die hier zu beachten sind.
- Ob das Spiel fortgesetzt werden soll oder nicht, sollte idealerweise vom Aufrufer der Methode gesteuert werden. Der Aufrufer der Methode sollte anhand des Rückgabewerts true oder false entscheiden
- Um (1) die Methodensignatur zu berücksichtigen, muss sie geändert werden. Es kann nicht nichtig sein. Es sollte boolesch sein.
- Sie benötigen das zweite Scannerobjekt nicht, um zu überprüfen, ob es Tiger enthält
Bitte überprüfen Sie, ob dieser Code Ihnen hilft
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;
}