【发布时间】:2013-09-16 20:11:04
【问题描述】:
我正在尝试使用表格“魅力”比较值,但我的外部 3 个循环只会注册第一次迭代;只有最里面的循环比较所有值。
while (m < 17) {
while (n < 17) {
while (o < 17) {
while (p < 17) {
number = (Math.pow(w, charms[m]))
* (Math.pow(x, charms[n]))
* (Math.pow(y, charms[o]))
* (Math.pow(z, charms[p]));
if (Math.abs(cons - number) < Math.abs(cons - closest)) {
closest = number;
a = charms[m];
b = charms[n];
c = charms[o];
d = charms[p];
}
p++;
}
o++;
}
n++;
}
m++;
}
【问题讨论】:
-
您采取了哪些诊断步骤?
m、n、o和p的初始值是多少?有例外吗?基本上这里的信息太少,无法帮助您。 -
您不应该将其更改为封装所有这些值的 while 循环吗?我的意思是(m
-
当
p==17时,它永远不会重置为它拥有的任何初始值。第一次运行后,外部循环无用。 -
使用
for循环重写它,你会更容易看到逻辑。
标签: java loops while-loop nested