首页 > 解决方案 > 如何保持 scnr.hasNext() 为真

问题描述

我正在调试我的代码的一部分,我意识到它不能按我想要的方式工作。我想输入几个数字并int var一个一个地存储它们,scnr.hasNext()如果输入的数字更多,则保持真实,以便我的 while 循环继续,我可以对每个数字运行操作。

public static Number evaluateExpression(String expr) {
Scanner scnr = new Scanner(expr);    
int var = 0;
while (scnr.hasNext()) {
    System.out.println(scnr.hasNext());
    var = scnr.nextInt();
    System.out.println(scnr.hasNext());
}

目前,如果我给它输入 5、4,输出是真假假,所以var = scnr.nextInt();(scnr.hasNext());假的。我该如何解决?如果它也是一个字符串,我还需要一种方法来存储下一个 scnr 值,所以

String input = "";
input = scnr.next();

scnr.hasNext()如果有更多的输入,将保持真实。

标签: javawhile-loopintjava.util.scanner

解决方案


推荐阅读