Primzahl

Mind_21

Mitglied
Hallo mein Programm sollte Primzahltest durchführen
ich weiss nicht genau was falsch gemacht habe
aber bei den Zahlen 9 oder 25 ' die keine Primzahl sind' meine Progrmm "ist Primzahl" liefrt
kann mir jemanden hefen den fehler zu lokalisieren
Java:
if (zahl == 1) {
				return  false;
			} 
			else if (zahl == 2) {
				return true;
				
			}
			else if (zahl % 2 == 0) {
				return  false;
			} else {
				for (int i=2; i<=zahl; i++) {
					if (zahl%i==0) {
						return false ;}
					else 
						return  true ;}
				}
		
			
	


			return true ;
 

eRaaaa

Top Contributor
Mit return beendest du die Methode, das bedeutet, deine Schleife läuft nur genau einmal durch, d.h. du prüfst immer nur zahl % 2 == 0 (was du zuvor ja übrigens auch schon geprüft hast) ...
 

Hindi93

Aktives Mitglied
Schau dir das hier mal an, dass geht auch um ein vielfaches schneller.
Der Miller-Rabin Primzahlen-Test als Java-Applet
Und außerdem währe es schlauer dass so zu schreiben:
Java:
!(n % 2 != 0)
Oder du frägst gleich am anfang ob ob die zahl größer ist als 0, weil sonst kriegst du da auch noch ein Problem, wenn die Zahlen negativ werden.
 
Zuletzt bearbeitet:

Mind_21

Mitglied

XHelp

Top Contributor
@XHelp
Ich weis es nicht mehr, aber ich glaube ich hab da mal nen guten Grund gelesen.

Ich will kein OT starten, aber ich kann mir keinen Grund vorstellen, warum das besser sein sollte.
Weiß zwar nicht, was JVM von Codeoptimierung hält, aber es kann sogar durch aus sein, dass beide Ausdrücke in Maschinencode identisch aussehen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
O Erste Schritte Primzahl Methode Java Basics - Anfänger-Themen 8
I Erste Schritte Testen, ob eine Zahl eine Primzahl ist Java Basics - Anfänger-Themen 8
O Primzahl bis n Java Basics - Anfänger-Themen 5
D Primzahl Aufgabe Java Basics - Anfänger-Themen 5
R Primzahl ja/nein - besserer Code möglich? Java Basics - Anfänger-Themen 2
T Primzahl Java Basics - Anfänger-Themen 12
I Höchste Zahl berechnen die eine Eingabe ohne Rest teilt und eine Primzahl ist Java Basics - Anfänger-Themen 2
U Primzahl-Tester Java Basics - Anfänger-Themen 3
A 10001-te Primzahl herausfinden Java Basics - Anfänger-Themen 5
L primzahl Java Basics - Anfänger-Themen 54
R Primzahl kleiner 3 Java Basics - Anfänger-Themen 2
T Primzahl Schleife Java Basics - Anfänger-Themen 15
X Primzahl Ausgabe falsch Java Basics - Anfänger-Themen 10
D Array Fehler / groesste Primzahl suchen Java Basics - Anfänger-Themen 4
F Primzahl oder nicht?! Java Basics - Anfänger-Themen 7
S Primzahl in einem Array finden Java Basics - Anfänger-Themen 21
J Primzahl mit for Schleife Java Basics - Anfänger-Themen 4
A Fehler im Primzahl Programm Java Basics - Anfänger-Themen 17
S Primzahl berechnen in Java Java Basics - Anfänger-Themen 7
K Primzahl//immer true Java Basics - Anfänger-Themen 7
ven000m Primzahl.class wie starte ich diese einzelne Datei? Java Basics - Anfänger-Themen 10
M Primzahl Java Basics - Anfänger-Themen 8
W Nächstgelegene Primzahl Java Basics - Anfänger-Themen 3
I Primzahl suchen Java Basics - Anfänger-Themen 5
G primzahl oder nicht? Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben