1 から 100 までの完全な整数を表示するプログラムを作成するという課題がありました。実際の課題は次のとおりです。
100 までのすべての完全整数を表示する PerfectIntegers アプリケーションを作成します。完全整数とは、それ自体を除くすべての要素の合計に等しい数です。たとえば、1 + 2 + 3 = 6 であるため、6 は完全数です。アプリケーションにはブール値メソッド isPerfect() を含める必要があります。
私はこれを試してみました:
import java.util.ArrayList;
public class PerfectIntegers {
public static boolean isPerfect(int a){
ArrayList<Integer> factors = new ArrayList<Integer>();
int sum=0;
boolean is;
for (int i=1; i<=100; i++){
double r=a/i;
if (r%1==0){
factors.add(i);
}
}for (int i=0;i<factors.size();i++){
sum+=factors.get(i);
}if (sum==a){
is=true;
}else{
is=false;
}return is;
}
public static void getInts(){
for (int i=2; i<=100; i++){
boolean is=isPerfect(i);
if (is!=false){
System.out.print(i+" ");
}
}
}
public static void main(String[] args) {
getInts();
}
}
Eclipse はエラーを表示しませんでしたが、実行しようとするとプログラムが終了し、何も表示されません。
double r
100% の確率で適切に分割されていないため、問題は で発生する可能性があります。