[Java] Problem mit Schleife

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Java] Problem mit Schleife

    Hallo,

    ich hab gerade ein kleines Programm geschrieben in der folgender Programmteil drankommt:

    PHP-Code:
    System.out.println("Noch eine Person einfügen? [j/n]");
                    
    String frage scanner.next();
                    
                    if (
    frage == "j"){
                        
    status true;
                        
    status2 false;
                    }
                    if (
    frage == "n"){
                        
    status false;
                        
    status2false;
                    }
                    if (
    frage != "j" frage != "n") { System.out.println("Falschen Eingabe!");} 
    Leider ist nun das Problem vorhanden, dass z.B. bei j oder n Eingabe, das Programm nicht in die entsprechende Schleife eintritt sondern jedes mal in die letzte Schleife eintritt. Obwohl bei einer Probeausgabe in frage der jeweilige Buchstabe steht. Weiß jemand wo hier der Fehler liegt?

  • #2
    Versuchs mal mit der equals-Methode, gibt da mit dem != Operator als Bugs in Java.

    Ausserdem könnte man da mal über den einsatz von char nachdenken (charAt auf erste Position, würde auch ja und nein korrekt abfangen)

    cya max


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #3
      AUSSER DEM
      ich glaube nicht das du in deiner if verzweigung
      if (frage != "j" & frage != "n")
      wirklich ein bineres & operator einsätzen möchtest
      Slava
      bituniverse.com

      Kommentar


      • #4
        auserdem würde ich da eher switch/case benutzen
        MfG
        aim
        Lies mich jetzt!
        - OT-Tags-Liebhaber und BB-Code-Einrücker -

        Kommentar


        • #5
          du vergleichst in deinen schleifen jeweils einen string mit nem char, das geht normalerweise nicht...
          so sollte es gehn
          PHP-Code:
          System.out.println("Noch eine Person einfügen? [j/n]");
          String frage scanner.next();
          frage frage.toLowerCase(); //somit auch großbuchstaben miteingeschlossen
          char f frage.charAt(0);   //zeichen an stelle 0 in char einlesen             

          if (== "j"//char mit char vergleichen ;)
          {
                
          status true;
                
          status2 false;
          };
          if (
          == "n"){
                
          status false;
                
          status2false;
          };
          if (
          != "j" != "n")
          {
                
          System.out.println("Falschen Eingabe!");
          }; 

          edit: ok sehe gerade dass das schon länger her ist^^

          Kommentar

          Lädt...
          X