0
我在朋友的幫助下做了這個,以找到完美的數字(除數總和=原始數字的數字)總和達到用戶輸入的數字。有人可以幫我轉換它,這樣它就可以打印出每一個數字,即使它不是一個完美的數字,並且列出了所有的除數,那麼如果它是完美的,它會在除數後打印完美數字?所以就像「6:1,2,3,6,完美數字」而不使用數組?Java完美數字嵌套for循環
import java.util.*;
public class PerfNumbers {
public static void main(String[] args){
System.out.println("Enter A Number:");
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int sumOfDivisors = 0;
for (int number = 1; number <= input; number++){
for (int divisor = 1; divisor < number; divisor++)
{
if (number % divisor == 0)
sumOfDivisors += divisor;
}
if (sumOfDivisors == number)
{
System.out.println(number);
}
sumOfDivisors = 0;
}
sc.close();
}
}
這樣的作品,但你會如何得到它打印的所有數字的除數在完美的數字之間,即使他們不完美? – cooldudsk 2014-10-17 03:03:09
在這種情況下,爲if(sumOfDivisors == number)語句創建一個'else'。在別的只是說一些像 ** System.out.printf(「非完美數字:%,d%n [」,數字); (Integer i:col){ System.out.printf(「%,d,」,i); } System.out.printf(「\ b \ b]%n」); ** – 2014-10-17 03:10:49
他們應該真的爲註釋添加代碼格式。 >。< – 2014-10-17 03:12:28