java - 如何保持 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()
如果有更多的输入,将保持真实。
解决方案
推荐阅读
- android - 使用 Kotlin 发送带有改造的 JSONObject
- pandas - How to select by 1 xbar date/second in kdb+
- python - Downcasting columns with nullable integers in pandas DataFrames
- css - 如何让自定义 CSS 按钮根据图像自动调整大小
- java - JPA Native query is very slow
- rust - Error handling and conditional chaining of Actix actors
- firebase - Cloud Firestore REST API - 添加服务器时间戳
- javascript - 加载开发 chrome 扩展时出错:端口无效或 URL 模式格式错误
- python - 计算足球比赛中所有可能的得分方式(递归)
- gradle - Where are Gradle detailed logs when building Flutter application in debug mode?