java - 如果数字等于 0,则选择无限循环;如果该数字大于 0,则选择循环直到某个数字 - Java

标签 java loops if-statement for-loop

如果数字等于 0,我想使用 for 循环无限循环,如果数字大于 0,则循环直到该数字。以下代码可帮助直观地了解我所得到的结果。

    for (int i = 0; i < this.getNumRounds(); i++) {
        // 30 some lines of code
    }

    for ( ; ; ) {
        // 30 some lines of code
    }

如果getNumRounds()大于0,则执行第一个循环,如果等于0,则执行第二个循环。我更愿意这样做,而不是复制和粘贴我的 30 多行代码两次,并使用 if 语句,因为代码是多余的,尽管我可以使用一个函数来消除冗余,但我想看看是否有另一种选择。

最佳答案

使用强大的三元运算符:

for (int i = 0; this.getNumRounds() == 0 ? true : i < this.getNumRounds(); i++) {
    // 30 some lines of code
}

正如 yshavit 的评论中所指出的,有一种更短、更清晰的方式来表达这一点:

for (int i = 0; this.getNumRounds() == 0 || i < this.getNumRounds(); i++) {
    // 30 some lines of code
}

关于java - 如果数字等于 0,则选择无限循环;如果该数字大于 0,则选择循环直到某个数字 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28666824/

相关文章:

java - Netbeans 6.5 调试问题

Python 溢出错误 : iter index too large

c# - 在字典中查找重复值

c - 循环中的第二个 Scanf 未被读取。跳转到 else 条件

excel - 如何跨从过滤数据中提取的多个工作表编写 countifs 函数?

java - 局部字符串变量未初始化错误

java - 使用Mongodb和Java检查文档是否存在?

java - 如何在 Android 上获取新的 Window 实例?

nlp - Java 谷歌引擎库

javascript - 循环对象值