czy program może zostać zakończony wcześniej w ramach metrum
Nov 25 2020
Tworzę prostą „grę”, w której użytkownik jest zadawany pytanie i musi udzielić poprawnej odpowiedzi, aby przejść dalej. Oto kod, który obecnie mam na jedno z pytań.
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();
}
Chcę, aby instrukcja if nie uwzględniała wielkości liter i zwracała wartość true, jeśli w skanerze w ogóle jest wprowadzany tygrys. jakby ktoś mógł wprowadzić całe zdanie do skanera, a jeśli słowo tygrys jest gdziekolwiek, wraca jako prawda. ale jeśli tygrys (lub jakakolwiek inna nieprawidłowa odpowiedź na jakiekolwiek inne pytanie zostanie wprowadzona do skanera), chcę, aby program się zatrzymał i nie przechodził do następnego pytania.
Odpowiedzi
1 VinodJayachandran Nov 26 2020 at 05:45
Kilka rzeczy, na które należy zwrócić uwagę.
- To, czy kontynuować grę, czy nie, powinno być idealnie kontrolowane przez wywołującego metodę. Obiekt wywołujący metodę powinien zdecydować na podstawie zwracanej wartości prawda lub fałsz
- Aby uwzględnić (1) sygnaturę metody, należy zmienić. To nie może być nieważne. Powinien być logiczny.
- Nie potrzebujesz drugiego skanera do sprawdzenia, czy zawiera tygrysa
Sprawdź, czy ten kod Ci pomaga
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;
}