Warum seid ihr alle eigentlich so?
Immer das gleiche. "Es ist nicht dazu da um Hausaufgaben zu machen"
"Dein Code ist doof" "Du hast Fehler drin"
Hab ich euch gezwungen mir die Lösung zu geben? Ich hab nur gefragt ob jemand helfen kann und ja ich kann die Sprache noch nicht und versuche sie zu verstehen aber ihr macht gleich alle nieder die hilfe brauchen. Was seid ihr für komische Typen?
Das Forum ist doch nicht dafür da um anderen zu sagen das sie scheisse machen sondern um zu diskutieren. Es gibt echt wenige von euch die helfen. Der rest hällt sich für was besseres und lässt einfach nur blöde Kommentare ab. Die könnt ihr euch sparen, echt.
Zum Thema:
So ich hab gestern selbst gemerkt das Sachen doppelt geprüft werden und auch das die Primzahlberechnung falsch war weil der einfach nur jede zweite Zahl ausgab in einem Bereicht. Das ist natürlich nicht richtig. Ich hab jetzt versucht einen vorherigen Code in das ganze hier ienzufügen weil der richtig ist.
Aber ich hab noch irgendwo einen Fehler drin. Ich hab irgendwas übersehen oder falsch eingetragen und deswegen funktinoert das ganze nur halb.
Wenn jemand so freundlich wäre mir zu helfen und mir den Fehler zu erklären wäre ich ihm sehr dankbar. Alle anderen die meinen mir sagen zu müssen dass ich keine Ahnung habe können sich ihre Kommentare sparen.
Hier ist der Code der jetzt verbessert wurde aber wo noch ein Fehler drin steckt:
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PrimzahlMitBereich {
public static void main(String[] args) {
int untereGrenze = PrüfZahl1();
int obereGrenze = PrüfZahl2(untereGrenze);
System.out.print("Die Primzahlen im eingegeben Bereich lauten: ");
for (int i = untereGrenze; i <= obereGrenze; i++) {
boolean istPrim = istPrimzahl(i);
if (istPrim) {
System.out.print(i + " ");
}
}
}
public static boolean istPrimzahl(int testZahl) {
int zahl = 0;
int div;
int erg;
boolean prim;
prim = true;
div = 2;
zahl = PrüfZahl1();
while ((zahl - 1) >= div) {
erg = zahl % div;
if (erg == 0) {
System.out.println(zahl + " ist keine Primzahl.");
prim = false;
break;
}
div++;
}
if (prim == true)
System.out.println(zahl + " ist eine Primzahl.");
{
return true;
}
}
static int PrüfZahl1() {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
boolean zahlgueltig = false;
int zahl = 0;
do {
System.out.print("Bitte geben Sie die erste Zahl ein:");
try {
zahl = Integer.parseInt(in.readLine());
if (zahl > 0) {
zahlgueltig = true;
} else {
System.out.println("Fehler: Sie müssen eine positive Zahl eingeben.");
}
} catch (NumberFormatException e) {
System.out.println("Fehler: Sie haben keine Zahl eingegeben.");
} catch (IOException e) {
System.out.println("Ein IO Fehler ist aufgetreten");
}
} while (!zahlgueltig);
return zahl;
}
static int PrüfZahl2(int untereGrenze) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
boolean zahlgueltig = false;
int zahl = 0;
do {
System.out.print("Bitte geben Sie die zweite Zahl ein:");
try {
zahl = Integer.parseInt(in.readLine());
if (zahl > 0 && zahl > untereGrenze) {
zahlgueltig = true;
} else {
System.out.println("Fehler: Sie müssen eine positive Zahl eingeben, die größer ist als die erste.");
}
} catch (NumberFormatException e) {
System.out.println("Fehler: Sie haben keine Zahl eingegeben.");
} catch (IOException e) {
System.out.println("Ein IO Fehler ist aufgetreten");
}
} while (!zahlgueltig);
return zahl;
}
}