为什么我得到豁免? [关闭]

问题描述 投票:0回答:0

运行以下代码时,我将获得豁免,但我不知道为什么。

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()
,但我仍然不明白是什么导致了这个问题。

java java.util.scanner
© www.soinside.com 2019 - 2024. All rights reserved.