我的 Java 编码有问题,无法使用布尔方法找到完美的数字。我想这样打印出来:示例:'6 是一个完美的数字。6 是 1、2、3 之和'否则:'9 不是完美数'</p>
但我不知道如何编写“6 是 1、2、3 之和”的编码。谁能帮我?这是我的编码:
import java.util.Scanner;
public class trial
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner perfect = new Scanner(System.in);
System.out.print("Enter any integer number : ");
int n = perfect.nextInt();
if(isPerfectNumber(n))
{
System.out.println(n+" is a perfect number");
}
else
{
System.out.println(n+" is not a perfect number");
}
}
public static boolean isPerfectNumber(int n)
{
int sum = 0;
for (int i=1; i<n; i++)
{
if (n%i == 0)
{
sum = sum + i;
}
}
if (sum == n)
{
return true;
}
else
{
return false;
}
}
}