Я пытаюсь сравнить значения, используя таблицу «charms», но мои внешние 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 <17 && n <17 && o <17 && p <17) вместо этой гигантской вещи? – Katana24
Когда 'p == 17', он никогда не возвращается к исходному значению, которое у него было. Внешние петли бесполезны после первого запуска. – agbinfo