Hallo alle zusammen nicht richtig ist, ich bin ein Java-Programm zu machen, die alle perfekt Zahlen in einem bestimmten Bereich angezeigt werden. Ich habe diese Methode unter Verwendung zu tun und das ist mein Code:Wie Java-Methode nicht zurück, etwas zu machen, wenn das Ergebnis
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;
}
Ich erwarte nur von vollkommenen Zahlen aus einer Liste zu erhalten, die für Bereich von 1 bis 1000 sind 6, 28 und 496.
Für das eigentliche Ergebnis, das ich diese Zahlen bekommen, aber ich auch die Linie von anderem Teil in dem Verfahren erhalten, das heißt „Nummer #num ist keine perfekte Zahl“. Ich habe versucht, die Rückkehrmethode zu ändern, aber ich konnte keine Lösung dafür finden. Ich habe eine leere Zeichenfolge, wenn das Ergebnis nicht stimmt, aber dann habe ich meine Linie für perfekte Nummer 6 und dann alles erhalten, bis die nächste perfekte Zahl leere Zeile ist, in diesem Fall von 6 und 28 gibt es 22 Leerzeilen. Wie kann ich das ändern, sodass meine Methode nichts zurückgibt, wenn das Ergebnis nicht das gewünschte ist?
So würde Ich mag nichts von diesem Bild zu bekommen, außer für „Nummer 496 ist eine perfekte Zahl“
nur machen 'richtig ist isPerfect' ein' boolean' zurückkehren, wie der Name schon vermuten lässt. Dann in main put 'if (isPerfect (i)) {System.out.println (" Nummer "+ i +" ist eine perfekte Zahl "); } ' –