当前位置: 首页 > 知识库问答 >
问题:

使用用户输入时循环不中断

梁丘翔
2023-03-14
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    Queue que = new Queue(50);

    System.out.println("Noki's Calculator");
    System.out.println("Choose an operation (*, /, +, -)");
    String inputOp = input.nextLine();
    System.out.println(" ");

    System.out.println("Now please enter your numbers. When finished, simply press enter.");
    boolean cont = true;
    while(true){
        System.out.print(" ::  ");
        String j = input.next();
        if(j != null) {
            int numb = Integer.parseInt(j);
            que.insert(numb);
        } else if (j==null) {
            input.close();
            break;
        }
    }

    que.view(); // PROBLEM: never executes this line

}

我的代码不会跳出while循环,而是仍然要求用户输入。当我按enter时,它不会再次打印“::”,但从不执行que.view()

共有1个答案

和弘博
2023-03-14

使用nextline()代替next(),如下所示,

String j = input.nextLine();
 类似资料:
  • 需要一些专家的建议。首先,这里是我的代码: 我的问题是:当我输入一个用户号码如“3”时,提示我的代码只打印一个__当我希望它打印指定的号码。我无论如何也想不出来。 我是英语专业的,所以这不是我的强项:(形状应该是菱形的。)

  • 我已经尝试了一些while循环的方法,但似乎无法让它工作。我想一直请求用户输入,直到用户输入数字0为止,以下是我到目前为止的代码:

  • 我正在设置一个,它在用户输入整数之前一直执行。但是,按照我现在的方式,循环在输入整数后再次打印消息,然后程序正常执行。有人能建议一种方法来使输入整数后不再打印该消息吗?谢了!

  • 首先,感谢你阅读我的帖子并帮助我。 我试图编程,我定义了一个随机数,程序猜测这个随机数,然后,根据我说猜测太高或太低,程序再次猜测。 再次感谢!

  • 问题内容: 我有一个无限的while循环,我想在用户按下某个键时退出。通常,我用来获取用户的响应。但是,我不必等待响应。我想要这样的东西: 这应该很简单,但是我似乎无法弄清楚。我倾向于使用线程的解决方案,但我不想这样做。我该怎么做? 问题答案: 我认为您可以使用msvcrt做得更好: 可悲的是,仍然是特定于Windows的。

  • 我试图通过使用Kryonet进行通信来创建一个基本的IRC。我遇到的问题是,在我的代码中,我不能安全地使用允许用户键入和发送消息的main while循环,因为Scanner给出了一个错误,并且似乎跳过了对nextLine()的调用。我想做的是让扫描仪在继续之前等待用户输入。 更准确地说,程序将首先在行的开头放一个“:”,然后在用户按enter键后获取用户键入的任何内容,然后将其发送到服务器。我得