BlueJ Primzahlen?
Kann mir jemand sagen, wie man bei BlueJ mit dem Befehl "while" einfach eine Primzahlenzerlegung mit Rechenweg durchführen kann? Es ist wohl nur eine ganz kleine Methode die man da programmieren muss und da sind wohl auch Dinge wie ein % und sowas drinnen
2 Antworten
int primzahl = 1327;
int teiler = 2;
boolean isPrime = true;
while (teiler <= Math.sqrt(primzahl)) {
if (primzahl % teiler == 0) {
isPrime = false;
break;
}
teiler++;
}
System.out.println(isPrime);
Ich habe mich am Code von colum123 orientiert. Ich würde allerdings ebenso wie der andere Antwortende hier die for-Schleife bevorzugen. Damit die Eingabe der Primzahl variabel ist, musst du den Code nur noch in eine Funktion kapseln, aber das kriegst du hin.
int primzahl = 1327;
boolean isPrime = true;
for(int i = 2; i <= Math.sqrt(primzahl); i++) {
if(primzahl % i != 0) continue;
isPrime = false;
break;
}
System.out.println(isPrime);
Ich hatte das schonmal in Informatik gehabt, habe aber vergessen wie das ging, doch ich weiß, dass es eine sehr viel einfachere Methode gab. Dort gibt man beim Test dann eine Zahl ein und im Ausgabefenster wird dann quasi die Zerlegung der Primzahl angezeigt. Dort kam meine ich nur der Befehl while vor und halt ein Modulo und auch nicht mehr. Das waren vlt gerade mal 2,3 geschriebene Zeilen.
Wie gesagt, in der Methode wird while verwendet und die ist auch ganz einfach gehalten und die Zahl, welche man für die Variable einsetzt soll auch variabel bleiben und nicht schon festgelegt sein