Mal wieder ein Problem mit If / Else

Kyo

Mitglied
Hallo erstmal,

Bin grad dabei meinen Code wieder ein wenig zu erweitern. (Es geht einfach um einen einfachen Dialog zwischen Nutzer und Programm).

Java:
package training;

import java.io.*;

public class Training  // Definiert die Klasse
{
    public static void main (String[]args ) 
            throws IOException       
    {     
        BufferedReader bin = new BufferedReader (
                             new InputStreamReader (System.in));
        System.out.println ("Hallo!");
        System.out.println ("Ich heiße Java und du? ");
        String name = bin.readLine();  // Liest die Eingabe                                 
        System.out.print ("Ahh genau " +name);
        System.out.println (" ... hätte ich ja fast vergessen :-)");
        System.out.println ("Und wie alt bist du noch gleich? ");
        int age = Integer.parseInt(bin.readLine());  // Weist der Variable "age" das eingegebene Alter zu
        if (age >= 18)     // Überprüft ob das eingegebene Alter = oder < 18 ist
        {
            System.out.println ("Dann rede ich dich jetzt mal besser mit Sie an.");
            System.out.println ("Haben Sie denn villeicht Lust auf ein Ratespiel?");
            boolean antwort1 = Boolean.parseBoolean(bin.readLine());
            boolean ja = true;
            boolean nein = false;
            if (antwort1 = true)
            {
                System.out.println ("Okay hier sind die Regeln... ");
            }
            else 
            {
                System.out.println ("Okay dann eben nicht... Ich muss eh wieder gehen.");
                System.out.println ("Tschüssi, hat Spaß gemacht!");
            }
               
        }
        else
        {
            System.out.println ("Dann werde ich dich wohl weiter mit Du anreden okay :-).");
            System.out.println ("Hast du denn villeicht Lust auf ein Ratespiel? ");
            boolean antwort1 = Boolean.parseBoolean(bin.readLine());
            boolean ja = true;
            boolean nein = false;
            if (antwort1 = true)
            {
                System.out.println ("Okay hier sind die Regeln... ");
            }
            else 
            {
                System.out.println ("Okay dann eben nicht... Ich muss eh wieder gehen.");
                System.out.println ("Tschüssi, hat Spaß gemacht!");
            }
                
        }
        
    }
}

Im Augenblick versuche ich das Programm dazu zu bringen das es mich fragt ob ich eventuell ein Ratespiel spielen würde.
Klappt eigentlich auch soweit, nur das wenn ich "nein" eintippe trotzdem die "ja" ausgabe kommt...
--> "Okay, Hier sind die Regeln!"


Hier der Teil auf den es sich bezieht rausgenommen:

Java:
  System.out.println ("Haben Sie denn villeicht Lust auf ein Ratespiel?");
            boolean antwort1 = Boolean.parseBoolean(bin.readLine());
            boolean ja = true;
            boolean nein = false;
            if (antwort1 = true)
            {
                System.out.println ("Okay hier sind die Regeln... ");
            }
            else 
            {
                System.out.println ("Okay dann eben nicht... Ich muss eh wieder gehen.");
                System.out.println ("Tschüssi, hat Spaß gemacht!");
            }

Ich danke euch schonmal im Vorraus für jegliche Hilfe ;)

Kyo
 
Zuletzt bearbeitet:

hartzie

Aktives Mitglied
Java:
            if (antwort1 == true)
            {
                System.out.println ("Okay hier sind die Regeln... ");
            }
Du hast nur ein = Zeicchen verwendet und das artet in eine Zuweisung aus und nicht in ein Vergleich.
 

Kyo

Mitglied
Also muss ich statt dem

Java:
if (antwort1 = true)
{
        System.out.println ("Okay hier sind die Regeln...");
}

ein == verwenden ?

Kyo
 

wessi86

Mitglied
Der obere Code differiert von dem unteren... Oben sollte es richtig sein, zumal schöner wäre:
Java:
 if (antwort1) {
                System.out.println ("Okay hier sind die Regeln... ");
 }

mfg, Christian

Edit: Ja, entweder ein "== true" oder einfach nur wie bei mir im Code oben.
"if (antwort1 == true)" ist das gleiche wie "if (antwort1)"
 
Zuletzt bearbeitet:

Kyo

Mitglied
Habs jetzt so wie du gemacht:

Java:
System.out.println ("Haben Sie denn villeicht Lust auf ein Ratespiel?");
            boolean antwort1 = Boolean.parseBoolean(bin.readLine());
            boolean ja = true;
            boolean nein = false;
            if (antwort1)
            {
                System.out.println ("Okay hier sind die Regeln... ");
            }
            else 
            {
                System.out.println ("Okay dann eben nicht... Ich muss eh wieder gehen.");
                System.out.println ("Tschüssi, hat Spaß gemacht!");
            }

Jedoch bleibt das Problem, dass wenn ich "ja" eingebe es denkt ich hätte "nein" geschrieben und den else - Text ausgibt... =(

Kyo
 

hartzie

Aktives Mitglied
Kein wunder du musst auch mit "true" antworten und nicht mit "ja", weil er davon ausgeht, dass wenn du irgendwas anderes außer "true" schreibst false sein soll.
Mit "true" geht es auch ;)
 

wessi86

Mitglied
Ok, so geht es nicht. Hab es jetzt mal das Boolean durch einen String ersetzt.
Java:
            System.out.println ("Dann rede ich dich jetzt mal besser mit Sie an.");
            System.out.println ("Haben Sie denn villeicht Lust auf ein Ratespiel?");
            String antwort1 = bin.readLine();
            if (antwort1.equals("ja"))
            {
                System.out.println ("Okay hier sind die Regeln... ");
            }
            else 
            {
                System.out.println ("Okay dann eben nicht... Ich muss eh wieder gehen.");
                System.out.println ("Tschüssi, hat Spaß gemacht!");
            }
So sollte es klappen.

mfg, Christian
 

eRaaaa

Top Contributor
Da du ja scheinbar gerade anfängst mit lernen, sollte man dir vlt auch direkt den Tipp geben sich in die Javadocs einzuarbeiten, dann hättest du das Problem nämlich direkt selbst lösen können:
Boolean (Java Platform SE 6)

Parses the string argument as a boolean. The boolean returned represents the value true if the string argument is not null and is equal, ignoring case, to the string "true".

Example: Boolean.parseBoolean("True") returns true.
Example: Boolean.parseBoolean("yes") returns false.

daher ist hartzie`s Aussage auch etwas gewagt :D
("dass wenn du irgendwas anderes außer "true" schreibst false sein soll.")
 

Kyo

Mitglied
Ahaha ^^

Man man man wenn man nicht einmal richtig hingucken kann xD
Vielen Dank Euch!

Gibt es denn ne möglichkeit das ich auch Ja / Nein eingeben kann statt True / False ? (mit Boolean) ^^

Thx habt ihr beiden trotzdem =D

Kyo
 

wessi86

Mitglied
Java:
            Boolean antwort1;
            if (bin.readLine().equals("ja")) {
                antwort1 = true;
            } else {
                antwort1 = false;
            }
            if (antwort1)
            {
                System.out.println ("Okay hier sind die Regeln... ");
            }
            else 
            {
                System.out.println ("Okay dann eben nicht... Ich muss eh wieder gehen.");
                System.out.println ("Tschüssi, hat Spaß gemacht!");
            }

mfg, Christian
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
F Wieder ein NullPointerException Problem Java Basics - Anfänger-Themen 21
M JSP: Cookies setzen ist kein Problem, aber wieder ändern ??? Java Basics - Anfänger-Themen 3
B Wieder ein package Problem Java Basics - Anfänger-Themen 2
S Schon wieder ein Problem - diesmal sortieren Java Basics - Anfänger-Themen 8
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 10
richis-fragen JTable setModel(myModel) ok -> wie wieder unset machen? Java Basics - Anfänger-Themen 8
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
W In alten Code zurück- und dort wieder zurechtfinden? Java Basics - Anfänger-Themen 17
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
Naxon89 Input/Output Ein PDF in einem BLOB umwandeln um ihn dann als PDF wieder anzuzeigen Java Basics - Anfänger-Themen 3
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
S Nutzereingabe splitten und in string array wieder ausgeben. Java Basics - Anfänger-Themen 1
N Wie kann ich einen String wieder zusammensetzen und ausgeben lassen? Java Basics - Anfänger-Themen 9
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
M JTextField blitzt immer wieder nur auf Java Basics - Anfänger-Themen 12
CptK Datentypen Verdrehte Wörter wieder herstellen Java Basics - Anfänger-Themen 21
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
M Schleifenergebnis in selbiger wieder verwenden Java Basics - Anfänger-Themen 7
L Methoden Rekursion gibt alten Wert wieder Java Basics - Anfänger-Themen 37
L jar, class, java und wieder zurück Java Basics - Anfänger-Themen 8
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
J Fenster wieder unsichtbar machen Java Basics - Anfänger-Themen 2
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
I Zähler, der erst wieder zählt nachdem Pixel wieder andere Farbe hat Java Basics - Anfänger-Themen 2
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
N Methode auslagern mal wieder Java Basics - Anfänger-Themen 8
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
I SHA512 verschlüsseln und dann wieder auslesen? Java Basics - Anfänger-Themen 35
F Timer abbrechen und wieder starten Java Basics - Anfänger-Themen 5
J KeyListener - mal wieder... Java Basics - Anfänger-Themen 2
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
GadgetSofa .txt Datei erstellen und gleich wieder Löschen? Java Basics - Anfänger-Themen 12
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
D Schon wieder double -.- Java Basics - Anfänger-Themen 4
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
K For Each Schleife wieder von Beginn an iterieren Java Basics - Anfänger-Themen 12
L Und schon wieder :=( Java Basics - Anfänger-Themen 3
T Arbeitsspeicher wieder freigeben Java Basics - Anfänger-Themen 21
Ernesto95 BufferedImage Teilbereich wieder transparent setzen Java Basics - Anfänger-Themen 16
J Schon wieder Rekursionsproblem Java Basics - Anfänger-Themen 3
S Erste Schritte Hochgescrolltes Menu nach MouseOut wieder "runter holen" Java Basics - Anfänger-Themen 3
H Datei in kleine Stücke teilen und wieder erkennen Java Basics - Anfänger-Themen 10
B Variable wird einfach so wieder auf "null" gesetzt Java Basics - Anfänger-Themen 12
B Cookies auslesen und wieder schreiben Java Basics - Anfänger-Themen 2
T wieder mal Serialization :-) Java Basics - Anfänger-Themen 10
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
T text von textfeld auslesen und wieder reinschreiben Java Basics - Anfänger-Themen 10
T Benutzereingabe in form von string wieder ausgeben in JOptionPane Java Basics - Anfänger-Themen 14
F Input/Output ArrayList presistent speichern und wieder auslesen Java Basics - Anfänger-Themen 4
D Ausgegebene Worte wieder löschen. Java Basics - Anfänger-Themen 6
B Heap-Speicher wieder freigeben Java Basics - Anfänger-Themen 10
P Mal wieder JTable Java Basics - Anfänger-Themen 7
M Mal wieder Probleme mit Date Java Basics - Anfänger-Themen 9
M Threads Thread ist nur kurz interrupted, dann wieder nichtmehr Java Basics - Anfänger-Themen 6
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
J Threads Threads anhalten und wieder fortführen Java Basics - Anfänger-Themen 9
P Dropdownbox nach hinzufügen wieder öffnen Java Basics - Anfänger-Themen 7
A Daten speichern und wieder in ein Array laden Java Basics - Anfänger-Themen 4
B Datentypen Inhalt zum Iterator wieder aufrufen? Java Basics - Anfänger-Themen 10
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
S Datei einlesen und Ergebnis wieder in Datei schreiben Java Basics - Anfänger-Themen 5
J Datei einlesen teile aus lines ändern und wieder rausschreiben. Java Basics - Anfänger-Themen 4
M String-Array-Element wieder null zuweisen Java Basics - Anfänger-Themen 16
K Wie kann ich aus jar Dateien wieder normale Klassen generieren? Java Basics - Anfänger-Themen 7
F Mal wieder: Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 9
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
B Datentypen Werte in einen Array einlesen und danach die beiden höchsten Werte wieder ausgeben Java Basics - Anfänger-Themen 3
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
B Datei in mehrere Ordner splitten und wieder zusammenfuegen... Java Basics - Anfänger-Themen 3
R ARRAY/List die sich immer wieder von vorne neu auffüllt ? Java Basics - Anfänger-Themen 21
F OOP Wieder mal Zugriffsprobleme... (Lösung am Ende) Java Basics - Anfänger-Themen 11
M Dynamisches Casten mal wieder Java Basics - Anfänger-Themen 4
P Zwei Charakter als Paramter übergeben und wieder ausgeben Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben