# "if ... else" geht nicht



## Nino (13. Apr 2004)

hi, ich versuche grad eine anwendung zu schreiben, die sich bei der Eingabe von "exit" selbst beendet. Ich versuche es mit einer "if ... else"-Abfrage. Das klappt aber nicht. Hier der Code:


```
class test
{
  public static void main( String args[] )
  {
    
    
    while(true)
	{
	
	String a = new String(eingabe());
	
	if(a!="exit")
		{
		System.out.println(a);
		}
		else
		{
		System.exit(0);
		}
	}
   
  }

   static String eingabe() { 
        String s = ""; 
        try { 
            s = new java.io.BufferedReader( 
                    new java.io.InputStreamReader(System.in)).readLine(); 
        } catch (java.io.IOException e) { 
        } 
        return s; 
    }
}
```

Was mache ich Falsch?

Danke

nino


----------



## Roar (13. Apr 2004)

dieses forum hat auch eine suchfunktion, und eine FAQ. es gibt google, es gibt auch bücher über java. es wär gut vorher einer der vorhergenannten methoden zu hilfe zu ziehen.


----------



## Nino (13. Apr 2004)

Ich hab mir ein Tutorial auf java.sun.com zu dem Thema durchgelesen und auch die Suche dieses Forums benutzt. 
Das Tutorial sagte:

```
if (response == OK) {
    // code to perform OK action
} else {
    // code to perform Cancel action
}
```
und da ich das genauso gemacht hab und es nicht funktioniert, hab ich hier halt gepostet...


----------



## spidermobile (13. Apr 2004)

Hi,

ich denke, es ligt am Stringvergleich. Dieser wird so gemacht:


```
String a = new String("Exit");  //Beispiel
    
if(a .equals("Exit")) ...
```


----------



## Beni (13. Apr 2004)

Nino hat gesagt.:
			
		

> ... und auch die Suche dieses Forums benutzt. ...



open your eyes  :shock: 

:wink: mfg Beni


----------



## citizen_erased (14. Apr 2004)

die suchfunktion war ihm sicher deshalb nicht dienlich, da er den fehler woanders vermutete, als dort, wo der fehler wirklich steckt


----------



## Reality (14. Apr 2004)

Ebenfalls eine Möglichkeit:

```
if(a.compareTo("Exit") == 0)
```

Wenn die Wörter identisch sind, kommt 0 raus. Ist beispielsweise der Anfangsbuchstabe kleiner als der von Exit, dann kommt x < 0 raus, ist x größer, dann kommt x > 0 raus.

Liebe Grüße
Reality


----------



## Nino (14. Apr 2004)

Ahh, jetzt gehts.
Es lag, wir ihr schon gemerkt habt am "==", das ich jetzt durch "equals" ersetzt hab.
Ich dachte, der Fehler läge in der Schleife.

Naja so kann man sich irren...

Danke jedenfalls!

Nino


----------

