皆さん、こんにちは、私は与えられた範囲内のすべての完全な数字を表示するJavaプログラムを作成しています。私はこの方法を使用してこれをしなければならない、これは私のコードです:結果が正しくない場合、javaメソッドが何も返さないようにするには
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++){
String result = isPerfect(i);
System.out.println(result);
}
}
public static String isPerfect(int num){
String result = "";
int sum = 0;
for (int i = 1; i < num; i++){
if ((num % i) == 0){
sum += i;
}
}
if (sum == num){
result = "Number " + num + " is a perfect number";
}else{
result = "Number " + num + " is not a perfect number";
}
return result;
}
私は6、28および496
ある1〜1000の範囲のための完全数からなるリストを取得することを期待します実際の結果では、これらの数値が得られますが、メソッドのelse部分からも、「Number#numは完全な数値ではありません」という行が取得されます。私は戻りメソッドを変更しようとしましたが、私はこれに対する解決策を見つけることができませんでした。結果が真でない場合は空の文字列を入れますが、次に完璧な番号6の行を取得し、次の完全な番号が空行になるまでのすべてを取得します。この場合、6と28から22の空行があります。どのように私はこれを変更することができますので、結果が私が望むものでなければ、私のメソッドは何も返しません。
は、だから私はを除いて、そのpicから何かを得るためにないたい
'isPerfect'はその名前のように' boolean'を返します。次にメインの 'if(isPerfect(i)){System.out.println(" Number "+ i +"は完全な数字です。 } ' –