Hallo,
als Erstes mal einen winzig kleinen Code:
Solange die Variable result also nicht n ist, soll weitergespielt werden. Drücke ich allerdings "n", beginnt die while-Schleife trotzdem von vorne. Zur Überprüfung habe ich mir mal result ausgeben lassen, es erscheint "n". Wie kann es dann sein, dass die Schleife trotzdem wiederholt wird? Hängt es mit dem Drücken auf Enter nach der Eingabe zusammen?
Folgendes passiert in der Konsole:
Ich habe festgestellt, dass, wenn ich nach result = s.nextLine(); ein result = "n" einfüge, die while-Schleife erwartungsgemäß beendet wird. Also scheint meine manuelle Eingabe eines "n" nicht als solche erkannt zu werden... Aber warum nicht und was kann ich dagegen unternehmen?
Danke für eure Hilfe
LG Erik
als Erstes mal einen winzig kleinen Code:
Java:
import java.util.Scanner;
public class Test {
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
String result = null;
while(result!="n")
{
//Hier findet das eigentliche Spiel statt
System.out.println("Weiterspielen? J/N");
result = s.nextLine();
System.out.println(result);
}
}
}
Solange die Variable result also nicht n ist, soll weitergespielt werden. Drücke ich allerdings "n", beginnt die while-Schleife trotzdem von vorne. Zur Überprüfung habe ich mir mal result ausgeben lassen, es erscheint "n". Wie kann es dann sein, dass die Schleife trotzdem wiederholt wird? Hängt es mit dem Drücken auf Enter nach der Eingabe zusammen?
Folgendes passiert in der Konsole:
Code:
Weiterspielen? J/N
n
n
Weiterspielen? J/N
Ich habe festgestellt, dass, wenn ich nach result = s.nextLine(); ein result = "n" einfüge, die while-Schleife erwartungsgemäß beendet wird. Also scheint meine manuelle Eingabe eines "n" nicht als solche erkannt zu werden... Aber warum nicht und was kann ich dagegen unternehmen?
Danke für eure Hilfe
LG Erik