# io.readString(); Problem



## bambi0815 (29. Mrz 2009)

hallo !

jemand ne ahnung wie man das umgeht :
also ich habe:

[HIGHLIGHT="Java"]String liesWort = io.readString();[/HIGHLIGHT]
Diesen eingelesenen String will ich in einer Methode weiterbenutzen als Eingabewert
also:

[HIGHLIGHT="Java"]void irgendeineMethode( liesWort );[/HIGHLIGHT]
NUN DAS PROB: 
obwohl ich das richtige Wort eingebe: z.B Schlüsselwort , worauf die methode reagieren soll reagiert sie aber nicht.

wenn ich das Wort direkt reinschreibe:

[HIGHLIGHT="Java"]void irgendeineMethode(  "Schlüsselwort" );[/HIGHLIGHT]
dann reagiert die Methode.

Bitte um Rat oder Lösungsansatz !


----------



## diggaa1984 (29. Mrz 2009)

das "void irgendeineMethode(liesWort)" sieht sehr kritisch aus 

[HIGHLIGHT="Java"]
[...] {
String liesWort = io.readString();
irgendeineMethode(liesWort); //Methodenaufruf mit eingelesenem String
[...]
}

//Methodendefinition
public void irgendeineMethode(String s) {
    System.out.println(s);
}
[/HIGHLIGHT]

so wäre das eher was .. aber nur geraten, pste mehr code falls das nicht geholfen hat


----------



## 0x7F800000 (29. Mrz 2009)

bambi0815 hat gesagt.:


> String liesWort = io.readString();


Von welchem Typ soll "io" sein? Was ist "readString()"? Hab's weder bei Scanner noch bei BufferedReader entdecken können, spontan fällt mir da leider nicht viel mehr ein... Was ist das also?



> obwohl ich das richtige Wort eingebe: z.B Schlüsselwort , worauf die methode reagieren soll reagiert sie aber nicht.


Was soll man sich unter "Schlüsselwort" vorstellen?



> Bitte um Rat oder Lösungsansatz !


Bitte um (idealerweise compilierbaren) code und Auflistung der Fehlermeldungen / Beschreibung des vom Erwarteten abweichenden Verhaltens. Kristallkugel ist grad in der reparatur sorry.


----------



## bambi0815 (30. Mrz 2009)

io.readString() lässt eine Eingabe über die Konsole zu, die dann den Eingegeben String einliesst.
Diesen Spiecher ich in einer Variable. 

diggaa1984 hat den Code schon richtig aufgeschrieben .. das prob ist das wenn ich eine if-anweisung schreibe......

[HIGHLIGHT="Java"]String liesWort = io.readString();
irgendeineMethode(liesWort); //Methodenaufruf mit eingelesenem String
}

//Methodendefinition
public void irgendeineMethode(String s) {
    if(s == Schlüsselwort) {
        System.out.println("OK");
    } else {
        System.out.println("FAIL");
    }
}[/HIGHLIGHT]
.....gibt er bei Eingabe des Schlüsselworts in der Konsole FAIL aus !


Also ich denke da muss ich mir mal die Klasse io angucken, dachte nur das prob kennt vllt jemand.


----------



## 0x7F800000 (30. Mrz 2009)

bambi0815 hat gesagt.:


> .....gibt er bei Eingabe des Schlüsselworts in der Konsole FAIL aus!


Damit hat die methode anscheinend gar nicht so unrecht :autsch:
Wenn du das mit == vergleichst, wird bei dieser abfrage niemals "true" rauskommen.

Wenn du Strings vergleichen willst, musst du das mit mit .equals() machen
(vorausgesetzt du vergleichst Inhalt und nicht die Entität):

```
String keyword="qwertzuiop";
String input=readSomehow();

if(keyword.equals(input)){ // nicht mit ==

}
```
nächstes mal trotzdem vollständigen compilierbaren code posten, ok? thx.


----------



## diggaa1984 (30. Mrz 2009)

beim vergleich von Strings solltest du folgendermaßen vorgehen:

[HIGHLIGHT="Java"]
//ich vermute Schluesselwort ist eine fest definierte String-Variable, in etwa so
private String Schluesselwort = "ganzGeheim";

//abfrage dann wie folgt, wenn Schluesselwort IMMER zugewiesen ist, wie oben
if (Schluesselwort.equals(liesWort)) {
    //passt
} else {
    //passt nich
}
[/HIGHLIGHT]



> nächstes mal trotzdem vollständigen compilierbaren code posten, ok? thx.


is doch nich zwingend nötig, da das Problem offensichtlich ist, und sogar alles nötige dazu angegeben wurde  ... Java-Highlight-Tags wären mir lieber ^^


----------



## bambi0815 (30. Mrz 2009)

ja danke euch. Ich trottel ich. Naja ganz so billig sieht das ganze ding nicht aus. Aber ich wollte ja nur das Grundlegende zeigen bevor man von einer Klasse in die andere Klasse switchen muss


----------



## Civilazi (30. Mrz 2009)

0x7F800000 hat gesagt.:


> Von welchem Typ soll "io" sein? Was ist "readString()"? Hab's weder bei Scanner noch bei BufferedReader entdecken können, spontan fällt mir da leider nicht viel mehr ein... Was ist das also?



Ist wahrscheinlich aus den IOTools aus den Prog1Tools. Diese lib verwenden alle, die mit "Programmieren in Java - Grundkurs" Java lernen. Vielleicht auch noch andere =)


----------



## 0x7F800000 (30. Mrz 2009)

Civilazi hat gesagt.:


> Ist wahrscheinlich aus den IOTools aus den Prog1Tools. Diese lib verwenden alle, die mit "Programmieren in Java - Grundkurs" Java lernen. Vielleicht auch noch andere =)


Naaaaapaaaalm


----------



## ARadauer (30. Mrz 2009)

Schluesselwort ...
Variablen schreibt man klein! ´..... und ja das ist wichtig!


----------



## diggaa1984 (30. Mrz 2009)

ich hab mich da am OP orientiert  .. asche auf mein haupt ;(


----------

