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