W
WeißNichtWeiter
Gast
Hallo Leute!!
Ich hab' mich daran versucht, ein kleines Programm zu schreiben, das mir die nächstgelegene Primzahl einer eingelesenen, positiven Zahl ausgibt (die Methode "isPrime" entspricht der herkömmlichen aus den Lehrbüchern):
z.B: Bei der Eingabe von "3" soll auf der Konsole "2" stehen.
Ich hab' erstens das Problem, dass ich natürlich keinen "int"-Wert (i) mit einer boolschen Methode vergleichen kann (wie kann ich das umschreiben, dass das funktioniert???), und zweitens meldet der Compiler den Fehler, dass er keinen "return"-Wert am Ende der Methode zurückbekommt (???).
Vielen, vielen Dank für Eure Hilfe!!!
Lg
Ich hab' mich daran versucht, ein kleines Programm zu schreiben, das mir die nächstgelegene Primzahl einer eingelesenen, positiven Zahl ausgibt (die Methode "isPrime" entspricht der herkömmlichen aus den Lehrbüchern):
Code:
static int nextPrime (int x) {
int cntUp = 0;
int cntDown = 0;
int i = x + 1;
int j = x - 1;
while (i != isPrime(x)) {
cntUp++;
i++;
}
while (j != isPrime(x)) {
cntDown++;
j--;
}
if (cntUp > cntDown) {
return j;
} else if (cntUp < cntDown) {
return i;
}
}
z.B: Bei der Eingabe von "3" soll auf der Konsole "2" stehen.
Ich hab' erstens das Problem, dass ich natürlich keinen "int"-Wert (i) mit einer boolschen Methode vergleichen kann (wie kann ich das umschreiben, dass das funktioniert???), und zweitens meldet der Compiler den Fehler, dass er keinen "return"-Wert am Ende der Methode zurückbekommt (???).
Vielen, vielen Dank für Eure Hilfe!!!
Lg