| 

.NET C# Java Javascript Exception

1
Hallo,
wie es schon in der Überschrift steht...
ich möchte in einer Endlosschleife immer jeweils eine eingegebene Zeile auswerten und testen ob eine bestimmte Zahlenkombination darin auftaucht(bei einer Eingabe von 99)... wenn das der Fall ist, soll die Schleife verlassen werden, wenn nicht soll die Schleife wieder von vorn durchlaufen werden.

Danke für eure Hilfe

~~~Message.java
public class Message implements Serializable {

private static long serialVersionUID = 1L;

private String data;

public String getData() {
return data;
}

public void setData(String data) {
this.data = data;
}
}


~~~Main.java
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(isr);

user.setData(input.readLine()); // das funktioniert wie erwartet; gut

while(true)
{
message.setData(input.readLine()); // das funktioniert auch... *

if(message.getData() == "99" ) // aber das nicht
break;

System.out.println(message.getData()); // *... wie man hier sehen kann

}
23.05.2012
sky-net 161 6
1 Antwort
4
Wenn du wissen möchtest, ob zwei Zeichenketten identisch sind:

stringVar.equals("99")


Wenn du wissen willst, ob eine Zeichenkette in str1 enthalten ist:

stringVar.contains("99")


Der == Operator funktioniert nicht bei Strings, weil String ja eine Collection von Chars ist.
23.05.2012
sansibar 66 4
1
+1 Habe nur noch die Kleinschreibung von "equals" korrigiert.
Der ==-Operator "funktioniert" natürlich auch bei Strings, er tut dort aber eben das, was er bei allen von object abgeleiteten Typen tut: er sagt, ob es wirklich die *selben* Objekte sind, nicht nur zwei *gleiche*. Warum das bei Strings aber trotzdem manchmal wie equals() zu funktionieren scheint, wird hier erklärt: http://weblogs.java.net/blog/enicholas/archive/2006/06/all_about_inter.html
Matthias Hlawatsch 23.05.2012
@Matthias Danke, der Link sieht interessant aus, ich les ihn gleich nach meinem Morgenkaffee.
@sansibar Danke hat funktioniert.
sky-net 23.05.2012

Stelle deine Java-Frage jetzt!