我想通過讓用戶輸入一個數字來打印出數字是否完美。例如,當我輸入一個完美的數字時,它會告訴我這不是一個完美的數字,並且無法弄清楚原因。我的最終代碼需要打印出來,像6 = 1 + 2 + 3。但我還沒有那麼遠。來自輸入的完美數字
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a positive integer: ");
int n = scanner.nextInt();
int sum = 0;
for(int i = 1;i<n;i++){
if(n%2==0)
sum += i;
}
if(sum==n){
System.out.println(n + " is a positive number");
}
else {
System.out.println(n + " is not a positive number");
}
您的打印聲明說「積極」,而不是「完美」。另外,手動運行這個代碼*。你輸入6,我們從i = 1開始,它小於6,sum + = 1意味着總和現在是1.我變成2,它小於6,我們加上2,總和現在變成3.我變成3,總和bcomes 6.我變成了4,總和現在變成了7,然後就這樣了。如果你不明白爲什麼它沒有說正確的話,那麼在第一步發佈之前就是找出它的實際內容。 – 2014-11-06 06:56:26
糟糕,它應該說是完美的。無論如何,我固定2是我,所以我現在能夠得到正確的輸出! – user3247712 2014-11-06 07:00:24
那麼你也應該從收到的答案列表中選擇一個「正確的答案」,或者刪除你的問題。 – 2014-11-06 16:50:03