运行以下代码时,我将获得豁免,但我不知道为什么。
public class test {
Scanner sc = new Scanner(System.in);
public void start() {
boolean valid = true;
switch (eingabeStr().toLowerCase()) {
case "test" -> System.out.println("This is a test");
default -> {
System.out.println("Invalid test!");
start();
}
}
}
public String eingabeStr() {
String retString = "";
Scanner sc = new Scanner(System.in);
retString = sc.next();
sc.close();
return retString;
}
}
让它工作的唯一方法是在 switch 语句的默认情况下删除
start()
,但我仍然不明白是什么导致了这个问题。