2个计数器在一个for循环中?

use*_*504 1 java for-loop

我的输出出错了,我意识到我为"k"运行"for循环"j的值为"for循环"的原因.

同时运行"j和k"循环将解决我的问题.怎么做?

public void yestimatedvalue() {
    for (int i = 1; i < bmarray.length; i++) {
        double g = 0;
        s = i;
        int p = missingrowcolindex(s);
        System.out.println("p::\t" + p);

        for (int j = 0; j < bmarray[i].length; j++) {
            if (j != p) {
                g = arraybeta[0][p];

                for (int k = 1; k < arraybeta.length; k++) {
                    g = g + ((bmarray[i][j]) * (arraybeta[k][p]));

                }

            }
        }
         System.out.println("g::\t" + g);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出::

g:: 23.99999999999998

g:: 4.9999999999999964

g:: 5.999999999999995

g:: 1.0
Run Code Online (Sandbox Code Playgroud)

Ale*_*exR 6

是的你可以.Java(以及所有类似c语言)支持这样的语法:

for(int i=0, j=5, k=2; i < 10 && j < 50; i++, j+=2, k+=3) {
}
Run Code Online (Sandbox Code Playgroud)


Caf*_*tte 6

回答这个问题同时为“j 和 k”运行循环是:

for(int j=0, k=1; (j < bmarray[i].length && k < arraybeta.length); j++, k++){
  //....
}
Run Code Online (Sandbox Code Playgroud)