java - 提供不是 boolean 值的循环条件

标签 java loops boolean conditional java.util.scanner

我需要接受一些正整数,我使用 for 循环如下:

Scanner in = new Scanner(System.in);
for(int i=0; i<n; i++) { 
    num = in.nextInt(); 
    //do something with num
}

这需要我 (a) 事先知道整数 n 的个数 (b) 使用计数器 i

我知道 Java 不接受循环条件中的非 boolean 表达式。但是没有 ni 我怎么能做同样的事情呢? 例如,像这样的东西:

while( (num = in.nextInt()) ) {
   //do something with num
}

任何类型的循环(for/while/do-while)都可以。

最佳答案

你可以做的是:

boolean loop = true;
while (loop) {
  int num = in.nextInt();
  ... do something with n
  if (whatever) loop = false;
}

例如。

或者您将 while (true)if (whatever) break 一起使用。

换句话说:您需要一个 boolean 条件,但您可以在循环体内控制该条件,如上所示。

关于java - 提供不是 boolean 值的循环条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45709071/

相关文章:

java - 将用户 1 的位置发送给用户 2 并将用户 2 的位置发送给用户 1 是否困难?

java - 是否有可能通过 Android 模拟器程序设置代理设置

C++在循环中写入文件

javascript - if (true || true || false) 语句在 javascript 中是否为真?

java - 如何在java web应用程序中每30分钟调用一次类(class)

java - JAXB 构造函数注入(inject)

javascript - 从数组中过滤非 -"linear"的渐进值

javascript - 在哪里调用 for 循环来迭代值数组

Python boolean 比较

swift - 在包含上使用 "!"