クラスの宿題を書く必要があり、それに行き詰まりました。想定どおりに正しくセットアップする方法がわかりません。私が得た助けに感謝します。これは割り当てです:
整数は、1 を含む因数 (ただし、数自体ではない) の合計がその数になる場合、完全数であると言われます。たとえば、6 = 1 + 2 + 3 であるため、6 は完全数です。数値が完全数かどうかを判定するメソッド Perfect を記述します。このメソッドは、2 から 1000 までのすべての完全数を決定して表示するアプリケーションで使用します。各完全数の因数を表示して、その数が実際に完全であることを確認します。
出力:
6 is perfect.
Factors:1 2 3
28 is perfect.
Factors: 1 2 4 7 14
496 is perfect.
Factors: 1 2 4 8 16 31 62 124 248
そして、ここに私が行き詰まったコードがあります:
public class Homework4 {
public static void main(String[] args) {
for(int num=2;num<=1000;num++)
{
if(perfect(num))
{
System.out.println(num + " is perfect.");
System.out.printf("Factors: ",perfect(num));
}
}
}
public static Boolean perfect(int num)
{
int sum = 0;
for(int i=1;i<num;i++)
{
if (num % i == 0)
{
sum+=i;
}
}
if(num==sum)
{
for(int i=1;i<num;i++)
{
if (num % i == 0)
{
System.out.print(i+" ");
}
}
}
return sum==num;
}
}
走る:
1 2 3 6 is perfect.
1 2 3 Factors: 1 2 4 7 14 28 is perfect.
1 2 4 7 14 Factors: 1 2 4 8 16 31 62 124 248 496 is perfect.
1 2 4 8 16 31 62 124 248 Factors: BUILD SUCCESSFUL (total time: 0 seconds)