Problem bei meinem Code

Nummer11

Mitglied
Hi ich bin neu hier. Hoffe, dass ich mich an die richtige Stelle wende 🙂

Ich musste einen Code schreiben, der testet, ob eine Zahl eine Primzahl ist. Ich hab mich heute hingesetzt und es versucht alleine zu lösen. Als ich versucht habe das Programm zu kompilieren (Habe dafür dieses schwarze Fenster geöffnet (die Konsole?) indem ich in die Suchleiste "cmd" eingegeben habe) kam jedoch 1 Fehlermeldung, dass wohl ein ";" fehlt. Wenn ich dieses jedoch setzt und dann versuche zu kompilieren, bekomm ich 5 weitere Fehlermeldungen...
Ich hoffe, dass mir jemand weiterhelfen kann.

Ich lade mal die Textdatei hoch.



PS: Dieser Teil hier

public class Primzahltester {
public static void main(String[] args) {
java.until.Scanner scan = new java.until.Scanner(System.in);
int zahl = scan.nextInt();

ist in der Aufgabenstellung gegeben und soll auf jeden Fall so stehen bleiben.
 

Anhänge

Hm, ok...
Das "r" habe ich jetzt deklariert und das "else if" mit einem Leerzeichen geschrieben. (Siehe Anhang)
Jetzt weiß ich jedoch nicht genau, was ich mit diesem java.until machen soll. Gerade dieser Teil müsste eig. richtig sein, da er, wie gesagt, in der Aufgabenstellung gegeben war.

Ich bin Neuling, was das programmieren angeht, und weiß auch garnicht, wozu der bereits gegebene Code dienen soll. Die Befehle, die dort sind, kenne ich noch garnicht. Mir wurde gesagt, es ermöglicht dem Nutzer des Programms eine Zahl einzugeben.

Kannst du mir sagen, wie ich das denn richtig schreiben müsste?
 

Anhänge

Okay, ich habs jetzt geändert und konnte den Code kompilieren. Leider macht das Programm nicht das, was es soll :/

Jetzt habe ich den Testlauf für ein paar Zahlen gemacht und mir ist aufgefallen, dass wenn ich eine Primzahl in das Programm eingebe ein "true" rauskommt, was ja schon mal sehr gut ist, weil das Programm genau das machen soll. Sobald ich aber keine Primzahl eingeben, bekomme ich immer 3 boolean Werte raus...

Kannst mir vllt einen Tipp geben, wie ich das beheben kann, dass dann halt nur ein false ausgegeben wird?
 
@DaCrazyJavaExpert Darüber habe ich auch schon nachgedacht. Ich habe mir sogar heute Eclipse runtergeladen, jedoch meinte mein Prof, dass man als Anfänger lieber mit dem Texteditor arbeiten soll...
Ob das wirklich so schlau ist, weiss ich nicht, aber ich habe einfach mal seinen Ratschlag befolgt.
 
Ich habe nochmal einen weiter Code geschrieben, weil ich das gewollte Programm nicht mit der while-Schleife hinbekommen habe.
Hab nun wieder das Problem, dass ich es nicht kompilieren kann. Hoffe jemand kann da kurz drüber gucken und mir sagen, was ich falsch gemacht habe.
 

Anhänge

Habs doch noch hinbekommen. (überarbeitete Version im Anhang) Ich musste anscheinend die Variable erst in der for-Schlaife initialisieren. Danke dir trotzdem 🙂

Leider habe ich auch bei dieser Version fast das gleiche Problem, wie bei dem anderen. Wär cool wenn mir da jmd. weiterhelfen könnte. :/
Bei Primzahlen kommt "true" raus. (das ist auch gut so)
Aber bei Nicht-Primzahlen kommen jedoch sehr sehr viele boolean-Werte raus, je nach dem wie groß die eingegebene Zahl ist 🙁
 

Anhänge

Die if-Anweisung ist auch in der Schleife, wird daher auch so oft ausgeführt wie der rest der Schleife. Der true-Zweig, kan je zahl nur einmal durchgeführt werden, da priimzahlen halt auch nur durch sich selbst und 1 Teilbar sind 🙂. Alle anderen Zahlen werden immer von 2- zahl durchgeführt. - Im false-Zweig
 

Zurück
Oben