Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 程序是否可以在一个方法内提前终止_Java - Fatal编程技术网

Java 程序是否可以在一个方法内提前终止

Java 程序是否可以在一个方法内提前终止,java,Java,我正在做一个简单的“游戏”,在这个游戏中,用户被问到一个问题,并且必须给出正确的答案才能继续。这是我目前为其中一个问题编写的代码 public static void Mascot() { Scanner console = new Scanner(System.in); System.out.println("what Is our school mascot?"); String Tony = console.nextLine(); Str

我正在做一个简单的“游戏”,在这个游戏中,用户被问到一个问题,并且必须给出正确的答案才能继续。这是我目前为其中一个问题编写的代码

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。但是,如果在扫描仪中输入了tiger(或任何其他问题的错误答案),我希望程序停止。而不是继续下一个问题。

这里需要注意几件事

  • 理想情况下,是否继续游戏应该由方法的调用方控制。方法的调用方应该根据返回值true或false来决定
  • 为了适应(1)个方法签名需要更改。它不能为空。它应该是布尔值
  • 您不需要第二个scanner对象来验证它是否包含tiger
  • 请检查此代码是否对您有帮助

    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;
        }
    

    多个问题是什么?从哪里可以得到其他问题?您可以在while循环中使用布尔标志作为条件。从输入中读取直到tiger出现,如果没有,则将标志设为false。您将从循环中出来,它不会进一步读取。它不会等待输入,只会立即说发生了异常n继续游戏。