# String equals Problem



## schguckemal (14. Okt 2011)

```
public static void main(String[] args) {
        // TODO code application logic here
        //Beginn des Programms
       System.out.println("Geben Sie mindestens 1 Zeichen ein:");
      
       String zeichen; //String für die Eingabe
       int gesamt; //Zähler für alle Zeichen im String

       
       zeichen = Input.readString();
      if (zeichen.equals("")) {
           System.out.println("Sie haben kein Zeichen eingegeben.\nDas Programm wird beendet.");
       }
       else {
           gesamt = zeichen.length()-1;
           //System.out.println("Ausgabe: " + zeichen);
           System.out.println("Sie haben " + gesamt +" Zeichen eingegeben");
      
       }
               
       }
       
    }
```

Wenn ich einfach nur Enter drücke, also nichts eingebe, springt er trotzdem zum else-Zweig.
Wer findet den Fehler?


----------



## tfa (14. Okt 2011)

Wenn du einfach nur Enter drückst, also nichts eingibst, ist zeichen nicht gleich "1", oder?


----------



## schguckemal (14. Okt 2011)

Sorry, das mit dem 1er stammte noch von einem Test. Jetzt stimmts. [JAVA=11]Zeile 11 wurde jetzt angepasst[/code]

Bei dem Code, den du noch gesehen hast, hat es übrigens mit 1 auch nicht funktioniert


----------



## tfa (14. Okt 2011)

Dann müsste man wissen, was Input.readString() macht. Vielleicht wird ja ein Zeilenvorschub an den String gehängt. Lass dir zeichen halt mal ausgeben oder schau es dir im Debugger an.


----------



## schguckemal (14. Okt 2011)

Input.readString() lest einen String in eine variable.
danke für den tipp mit der ausgabe.

edit: 
Ausgabe:

```
run:
Geben Sie mindestens 1 Zeichen ein:
test
Ausgabe:test

Sie haben 4 Zeichen eingegeben
BUILD SUCCESSFUL (total time: 2 seconds)
```

Ausgabe mit leerem String:

```
run:
Geben Sie mindestens 1 Zeichen ein:

Ausgabe:

Sie haben 0 Zeichen eingegeben
BUILD SUCCESSFUL (total time: 1 second)
```

Debugger liefert keine Fehler.


----------



## Final_Striker (14. Okt 2011)

versuche es mal mit String#isEmpty()


----------



## TheRealSpikee (16. Okt 2011)

Mit Scanner.nextString() steht \r\n im String wenn du einfach nur ENTER drückst.
Versuch es mal mit Scanner.nextLine()


----------

