JAVA 程序不断阻止终端输入,即使它不应该接受输入

标签 java

所以我进行了调试并找到了问题的根源。基本上,我正在运行一些测试用例并且

 int no_of_test = Integer.parseInt(in.readLine());
 for(int t = 0;t<no_of_test;t++){//do something}`

工作正常。然而,

for(int t=0;t<Integer.parseInt(in.readLine());t++){//do something}

这里,每次迭代后它都会等待输入。

在Python中我可以做for t in range(int(input())并且它不会在每次迭代后阻塞输入,为什么在JAVA中不是这样?我是什么失踪了?

最佳答案

for(int t=0;t<Integer.parseInt(in.readLine());t++){//do something}

每次迭代都会重新评估Integer.parseInt(in.readLine())部分。

而与

int no_of_test = Integer.parseInt(in.readLine());
for(int t = 0;t<no_of_test;t++){//do something}

Integer.parseInt(in.readLine()) 仅计算一次。

关于JAVA 程序不断阻止终端输入,即使它不应该接受输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55304123/

相关文章:

java - 如何获取 Android 中大量按钮的引用?

java - java字节码总是向前兼容吗?

java - 不同类型的对象传递

java - 在 addHeaderView 和 addFooterView 之后设置 StaggeredGridView setAdapter

java - OpenGl 中的 2D 图像纹理无法按预期工作

java - 了解 xmpp 中的术语 "extension","component"和 "plugin"?

java - BigDecimal 乘以零

java - 如何使用 Nexus 存储库解决 Maven 中的依赖关系错误

Java Swing 无法在 mac os 10.15 上显示 FileDialog

java - 尽管查询正在从数据库控制台运行,但 Hibernate 抛出异常