Primzahlen mit Java?
Hey Leute,
Ich würde gerne ein Programm in Java (BlueJ) schreiben, welches mit Hilfe von for und If (kein while!) die Zahlen von 1-100 nach Primzahlen prüft und die Primzahlen ausgibt.
Wie macht man das?
Danke im Voraus ;)
public class FuerUndWenn{
public static void main(String [] args) {
int i, j;
boolean isPrime;
isPrime=true;
for (i=1; i<101; i++){
for (j = 2; j< i-1; j++) {
if ((i%j)==0){
isPrime = false;
}
}
if (isPrime==true){
system.out.println(i + "ist eine Primzahl");
}else{
isPrime=true;
}
}
}
2 Antworten
Wie macht man das?
nun, überleg dir doch erstmal, was die Voraussetzung für eine Primzahl ist und wie du den Test (mit einer Schleife) umsetzen kannst
Anschließend setzt du das in eine Schleife von 1 bis 100 und lässt deinen Algorithmus für EINE Primzahl über jede einzelne davon laufen
Genau. Jetzt kannst du dir folgendes überlegen:
- Wie teste ich, ob Zahl a durch Zahl b teilbar ist
- Wie setze ich das in einer Schleife um, um es für mehrere Zahlen zu überprüfen
- Wie beende ich diese Schleife vorzeitig, sollte es eben doch teilbar sein
Stimmt das?
jup, der Rest der Division a / b muss 0 sein, damit es dadurch teilbar ist.
Ich will dir aber nicht für jeden Punkt alles nacheinander vorkauen und bestätigen müssen. Du hast einen Ansatz, also spiel doch ein bisschen damit rum
Eeeeehm...ich habe es gerade glaube ich hinbekommen...zumindest spuckt er jetzt die richtigen Primzahlen zwischen 1 und 100 aus. Aber ich verstehe mein eigenes Programm nicht😅 kannst du mir mein Programm erklären? 😂😂
Eeeeeh, wie fügt man nachträglich ein Bild hinzu?😅
das ist eigentlich ganz einfach ,
da primzahlen immmer kein vielfaches sind von irgendwas braucsht du dir eigentlich nur ein array mit 100 werten machen
dann löscht du jeden 2 , dann jeden 3 , dann jeden 4 , dann jeden 5 und ich glaub das brauchst du nur bis 20 machen oder sogar weniger , alles was übrig bleibt ist eine primzahl .
dann hast du ja schon eine aufgabe wenns mit arrays losgeht
Eine Primzahl bedeutet ja, dass sie nur durch 1 und sich selber teilbar ist...