el guapo
Lt. Commander
- Registriert
- Feb. 2002
- Beiträge
- 1.325
Zuerst der Quelltext, das Programm soll Primzahlen berechnen:
Mein Problem tritt genau hier
auf: warum wird die while-Schleife nicht verlassen? primzahl wird durch das else auf false gesetzt, und primzahl ist eine Bedingung für die while-Schleife.
Bitte nicht über den Startwert wundern, der dient Testzwecken, da das Programm ürsprünglich die eingegebenen Grenzen nicht genau beachtet hat (daher jetzt die boolean-Abfrage bei der Ausgabe).
Edit Steffen: Bitte das nächste mal gebrauch der Code-Tags machen!
Code:
public class Primzahl {
static final int UNTERE_GRENZE = 49;
static final int OBERE_GRENZE = 50;
public Primzahl() {
}
public static void main(String[] args) {
int testzahl = UNTERE_GRENZE;
if (testzahl == 1) {
testzahl = 2;
}
int teiler = 2;
System.out.println();
while (testzahl < OBERE_GRENZE) {
boolean primzahl = true;
while ((teiler <= (testzahl / 2)) & (primzahl = true)) {
if (testzahl % teiler != 0) {
teiler = teiler + 1;
}
else {
primzahl = false;
}
}
if (primzahl = true) {
System.out.println((testzahl));
}
testzahl = testzahl + 1;
teiler = 2;
}
}
}
Mein Problem tritt genau hier
Code:
else {
primzahl = false;
}
auf: warum wird die while-Schleife nicht verlassen? primzahl wird durch das else auf false gesetzt, und primzahl ist eine Bedingung für die while-Schleife.
Bitte nicht über den Startwert wundern, der dient Testzwecken, da das Programm ürsprünglich die eingegebenen Grenzen nicht genau beachtet hat (daher jetzt die boolean-Abfrage bei der Ausgabe).
Edit Steffen: Bitte das nächste mal gebrauch der Code-Tags machen!
Zuletzt bearbeitet von einem Moderator: