Einfache JAVA abfrage?
Hey liebe Community,
ich lerne aktuell JAVA mit einem Buch und dort wurde mir nach Vollendung der Lektion eine Aufgabe gestellt. Diese habe ich beendet, aber es kommt nicht der Wert raus der gewünscht ist. Bei der Aufgabe muss eine einfache Pass-abfrage und dann ein vergleich erstellt werden. Wenn der eingegebene Wert mit den von mir vorgegebene übereinstimmt, so soll eine Bestimmte Aktion ausgeführt werden.
Aber das Problem ist, dass bei richtiger Eingabe eine negative Reaktion zurück kommt obwohl es eine positive sein sollte!
Es wäre auch lieb, wenn jemand ein Forum für solche Sachen hier nennen würde(vorausgesetzt es ist erlaubt).
LG
1 Antwort
Dein Problem kann auch hier recht leicht gelöst werden.
1) Die Eingaben in die Dialogboxen werden gar nicht in einer Variable gespeichert. Das könnte für eine Dialogbox so aussehen:
String input = JOptionPane.showInputDialog("Please input a value");
Die Eingabe steht nach Bestätigung der Box in der Variable input.
2) Du versuchst "Bitte gebe ..." mit "test" zu vergleichen. Das das nicht gleich sein kann, sollte klar sein.
3) Wenn du zwei Stringwerte miteinander vergleichen möchtest, musst du mit der equals-Methode arbeiten.
Beispiel:
String word = "hello";
String otherWord = "world";
if (word.equals(otherWord)) {
// ...
}
Wenn du den Vergleichsoperator (==) nutzt, werden nicht die Werte verglichen, sondern die String-Objekte selbst. Die sind aber verschieden.
Dazu noch eine Randbemerkung: Strings in Java sind immutable.
Für die Folgezeit würde ich dir übrigens empfehlen:
- Quellcode stets richtig einzurücken
- Dich an Java-Konventionen zu orientieren. Lies zu Namenskonventionen hier.
- Die runden Klammern bei deinen String-Literalen oder dem Vergleich kannst du weglassen. Sie sind nicht nötig.
- Geschweifte Klammern für Code-Blöcke (wie bei if und else) immer zu setzen (zumindest, so lange du noch Anfänger bist)
if (someCondition) {
// ...
}
else {
// ...
}
Wenn du diese Tipps berücksichtigst, sollte dein Code gut / einfacher lesbar bleiben und das Risiko für Fehler senken.
Ganz sicher nicht auf den letzten Punkt. Doch sie sollten als Orientierung dienen (gerade die Namenskonventionen). Umso öfter man darauf achtet, umso eher prägt es sich ein / wird Routine.
Die wichtigste Anforderung für später ist es, gut lesbaren, stringent gehaltenen Code schreiben zu können. Je nach Sprache ist es da sinnvoll, sich an deren üblichen Konventionen zu halten, da dies wiederum ein Stil ist, den sich viele Kollegen ebenfalls angeeignet haben werden.
Aber es kann auch sein, dass das Entwicklerteam für seine Projekte andere Konventionen definiert hat, die dann stattdessen berücksichtigt werden müssen.
Mal ganz kurz.
Die Sprache heißt Java, nicht JAVA, und man sagt einfach nur Java Konventionen oder Conventions, nicht JAVA_CONVENTIONS.
Und ich empfehle es für die Übersichtlichkeit, gerade, wenn du dir fremden Code ansiehst.
Das ich da einen formellen Fehler gemacht habe ist mir bewusst! Ich wollte lediglich meine Antwort etwas "aufpeppen", aber dennoch danke für den Hinweis.
Ich danke dir vielmals. Bin ich froh den Fix vor dir gefunden zu haben.
Auch danke für deine Tipps ich werde sie in meinen Zukünftigen Projekten berücksichtigen und umsetzen.
LG
muss man die JAVA_CONVENTIONS als Programmierer auswendig können? Also wenn man das dann beruflich ausüben will?