扫描仪和方法的Java异常问题

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

在Java中,在while循环中将扫描器放置在输出之后会遇到一些问题。扫描程序将扫描要使用的方法,然后在返回循环开始时进行扫描重置变量。

我已经尝试过了,但是没有找到任何可以理解的解决方案(对Java来说真的很新,这对我来说很难),还是解决我自己的问题这是代码:

public class Main {
    public static void main(String[] args) {
        int con=1;
        System.out.println("Hey!,welcome to my games!");
        String game;
        while(con==1) 
        {
            Scanner scanner=new Scanner(System.in);
            System.out.println("Here Some games i have(Enter the text for the one you want):\nto stop=0\n1)game 1=1");
            game=scanner.next();
            calculator();
            scanner.reset();
            System.out.println(game);
//          if(game.equals("0")) {
//              con=0;
//          }
//          else if(game.equals("1")) {

//              System.out.println("Welcome Back!");
//          }
//          else {
//              System.out.println("There is a mistake in your text");
//          }
            scanner.close();
        }
    }

如您所见,我试图自己解决它,甚至对某些代码发表评论,但是当它运行到方法并返回时,它失败了,因为扫描仪认为存在我写东西之前要扫描的东西。这是例外-

Exception in thread "main" java.util.NoSuchElementException
    at java.base/java.util.Scanner.throwFor(Scanner.java:937)
    at java.base/java.util.Scanner.next(Scanner.java:1478)
    at Main.main(Main.java:12)
java methods java.util.scanner
1个回答
0
投票

您还记得导入java.util.Scanner吗?或如何编译源文件?使用gradle进行编译时,我也遇到了相同的错误消息,并且gradle构建文件中缺少一条细线。

© www.soinside.com 2019 - 2024. All rights reserved.