inputstreamreader bufferedreader

tameck

Erfahrenes Mitglied
guten morgen zusammen :)

hab mal ne simple frage denke ich jetzt

bei mir im programm soll der user eine eingabe machen ... und wenn die eingabe z.B: = w ist soll dies und jenes passieren ich zeig euch mal den code

Code:
                        InputStreamReader isr = new InputStreamReader ( System.in );
			BufferedReader stdin = new BufferedReader ( isr ); 
		
	
			try {
					input = stdin.readLine();
				}       catch (IOException e) {
				
					e.printStackTrace();
				}
	
				if(input == "w" ){
			
					System.out.println("sad");
				}
also wenn der user w drückt soll die ausgabe sad kommen

vielen dank für eure hilfe

gruß tameck
 
Hallo,

hättest du mal nach Strings vergleichen gesucht, was du nämlich machen willt, hättest du eine Menge Lösungen gefunden.

Um den Inhalt von Strings zu vergleichen muss mal nämlich equals benutzen.
Code:
String s = "test";
if(s.equals("test"))

Mit == wird nur überprüft ob es das gleiche Object ist, also ob es an der gleichen Speicheradresse liegt.

MFG

zEriX
 
Hallo Tameck, du kannst einen String nicht so wie beschrieben abprüfen, am besten machst du es so:

Java:
       InputStreamReader isr = new InputStreamReader ( System.in );
		BufferedReader stdin = new BufferedReader ( isr ); 
		String input = "";

		try {
			input = stdin.readLine();
			}   catch (IOException e) {
				e.printStackTrace();
			}

			if(input.charAt(0) == 'w' ){
				System.out.println("sad");
			}
		}

Oder du überlegst dir das ganze mit einem KeyListener umzusetzen (was das einfachste und nebenbei das beste für diesen Zweck wäre), zumal du mit dem derzeitigen Ansatz das w in der console comitten (mittels return) musst.

Gruss Ben
 
@kaMii

Deine Lösung funktioniert leider auch immer, wenn sie nicht funktionieren soll. Da auch sobald ein Wort eingegeben wird das mit 'w' beginnt die Ausgabe "sad" kommt.
Einen KeyListener kann man auch nur verwenden, wenn man mit AWT oder Swing GUIs programmiert. In der Konsole funktioniert kein KeyListener.

MFG

zEriX
 
Da muss ich dir (leider) uneingeschränkt Recht geben.
Aber es ist ja noch früh am Tag und ich bin wohl noch nicht ganz da...

Danke fürs klarstellen!
 
Zurück