我在朋友的帮助下做了这个,以便找到用户输入的数字的完美数字(除数之和 = 原始数字的数字)之和。有人可以帮我转换它,以便它在一行上打印每个数字,即使它不是一个完美的数字,并列出它的所有除数,然后如果它是完美的,它会在除数之后打印完美的数字?就像“6:1、2、3、6,完美数”一样不使用数组?
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();
}
}