프로그램이 만남에서 일찍 종료 될 수 있습니까?
Nov 25 2020
저는 사용자에게 질문을 받고 올바른 답을 제공해야하는 간단한 "게임"을 만들고 있습니다. 이것이 제가 현재 가지고있는 질문 중 하나에 대한 코드입니다.
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();
}
if 문이 대소 문자를 구분하지 않고 tiger가 스캐너에 입력되면 true를 반환하고 싶습니다. 누군가가 스캐너에 전체 문장을 입력 할 수 있고 tiger라는 단어가 어디에나 있으면 true로 반환됩니다. 그러나 호랑이 (또는 스캐너에 다른 질문에 대한 다른 오답이 입력되면 프로그램을 중지하고 다음 질문으로 계속하지 않습니다.
답변
1 VinodJayachandran Nov 26 2020 at 05:45
여기서 주목할 몇 가지.
- 게임을 계속할지 여부는 메서드 호출자가 이상적으로 제어해야합니다. 메서드 호출자는 반환 값에 따라 true 또는 false를 결정해야합니다.
- (1) 메서드 서명을 수용하려면 변경해야합니다. 공허 할 수 없습니다. 부울이어야합니다.
- 호랑이 가 포함되어 있는지 확인하기 위해 두 번째 스캐너 개체가 필요하지 않습니다.
이 코드가 도움이되는지 확인하십시오.
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;
}