-2
這個程序是爲了找到一個最大的除數在1到10000之間的數字。不管兩個數字是否都是最大的,但我們只打印一個。java初學者中異常棘手的情況
int integerWithMax =1; // first, 1 as integer with max divisor
int maxDivisor = 1; // 1 has max divisor
for (int i = 2; i <= 10000; i++) {
int j;
int divisorCount = 0;
for (j = 1; j < i; j++) {
if((i % j) == 0) {
divisorCount++;
}
}
if (divisorCount > maxDivisor) {
// maxDivisor = divisorCount; //why do I need this line if I need only integerWithMax
integerWithMax = i;
}
}
System.out.print("The integer with max divisor is "+integerWithMax);
這裏的問題是,如果我取消maxDivisor
它會給正確的整數,maxDivisor = 7560
但如果我評論它,integerWithMax
將輸出10000
。
問題是爲什麼我應該分配到maxDivisor
如果我必須找到最大除數的整數,即integerWithMax
?
請更改您的標題以反映實際問題。 –
紙,筆,可能是個好主意最初! –