java - 为什么这会导致无限循环?

标签 java loops

我正在尝试编写一种在矩阵(二维数组)上使用高斯消元法的方法,并且我正在尝试调试我的方法,并且遇到了这个问题

public int Gauss() {
    int i = 1;
    int j = 1;
    int pivotCol = 0;
    while (pivotCol == 0 && j <= cols())
        if (i == rows()){
            j ++;
            i = 1;
        }
        if (get(i,j) == 1.0){
            pivotCol = j;
        } else {
            i ++;
        }
    return pivotCol;
}

这不是 final方法,但由于某种原因,这个循环永远不会停止,为什么?

最佳答案

while (pivotCol == 0 && j <= cols()) {
...
}

您忘记了括号,因此 while 只能与 if 语句一起使用,因此它会无限运行。

关于java - 为什么这会导致无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20443045/

相关文章:

java - 使用 MD5 时出现 NoSuchAlgorithm 异常

jquery - jQuery 的each 方法中的$(this) 和$(element)

java - 如何暂时挂起while循环

python - 循环更改甚至没有循环的行数据?

java - 如何更新JList?

javascript - 正则表达式 - 重复或分布的字符

java - java可以在对象仍在范围内时对其进行最终确定吗?

java - 通过带有框架的 Java 代码插件的静态工具分析选项(除了 CAST)是什么?

javascript - 在更正拼写错误并重新提交后验证 javascript 中的用户输入不会脱离 else 构造

java - 使用循环将 int 转换为 string,然后再转换回 int