Input/Output Konsole erkennt meinen Buchstaben nicht

erik4tw

Mitglied
Hallo,

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
 

Tarrew

Top Contributor
Strings am besten mit der equals-Methode vergleichen.

Java:
while(!result.equals("n"))
		{
                        //Hier findet das eigentliche Spiel statt
 
			System.out.println("Weiterspielen? J/N");
			result = s.nextLine();
 
			System.out.println(result);
		}
 

Tarrew

Top Contributor
;) Stimmt wohl, ich vergleiche Strings auch immer mit equals.
Wobei sowas auch durchgeht:
Java:
public static void main(String[] args)
	{
		String s = "test";
		if(s=="test"){
			System.out.println("Erkannt");
		}
	}
 

fhoffmann

Top Contributor
Hallo,

besser in diesem Fall schreiben:

Java:
while(!"n".equals(result))

Ansonsten erhältst du eine NPE.

Gruß
Fritz
 

erik4tw

Mitglied
Danke für eure Antworten. habe jetzt den Code von fhoffmann genommen, also while(!"n".equals(result)). Aber warum genau geht while(!result.equals("n")) nicht? Ich erhalte tatsächlich eine NullPointerException, aber was ist das denn eigentlich? Ich programmiere erst seit 4 Tagen, habt bitte Nachsicht... Ist jetzt aber nur nebenbei gefragt, nichts Wichtiges.
 
Zuletzt bearbeitet:

Tarrew

Top Contributor
Weil du result = null gesetzt hast am Anfang. Ich hatte das geändert auf result=""; in meinem Code, deswegen ging der auch bei mir ;)

NullPointer ist praktisch eine Referenz ins Nichts.
 

Joose

Top Contributor
result ist bei dir mit null initialisiert.Somit hast du kein String Objekt zur Verfügung von welchem du die Methode equals aufrufen könntest :)
 

Java20134

Bekanntes Mitglied
Du hast in der Frage gefragt ob "Ja oder Nein" dadurch kann man auch einen Großbuchstaben schreiben. Deshalb würde ich diese Methode nehmen, welche die Groß- und Kleinschreibung vernachlässigt, um mögliche Fehleingaben zu vermeiden:
Java:
String result; 
while(!result.equalsIgnoreCase("n")){ Anweisung(en); } //ODER
while(result.equalsIgnoreCase("j")){ Anweisung(en); }
 

erik4tw

Mitglied
Du hast in der Frage gefragt ob "Ja oder Nein" dadurch kann man auch einen Großbuchstaben schreiben. Deshalb würde ich diese Methode nehmen, welche die Groß- und Kleinschreibung vernachlässigt, um mögliche Fehleingaben zu vermeiden:

Das hab ich in meinem echten Programm auch gemacht, allerdings wollte ich für diesen Forenbeitrag den Code auf das Nötigste reduzieren :)
Aber trotzdem Danke für den Hinweis, sehr aufmerksam ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
M Nicht genug Eingabemöglichkeiten in der Konsole Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
W char über die Konsole? Java Basics - Anfänger-Themen 7
J if-Schleife innerhalb einer if-Schleife wird in der Konsole nicht gelesen Java Basics - Anfänger-Themen 4
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
I 12 Spalten von jeweils 30 Zahlen in Konsole ausgeben Java Basics - Anfänger-Themen 6
I Java auf der Konsole Java Basics - Anfänger-Themen 5
C Erste Schritte Muster ausgeben in der Konsole - großes V Java Basics - Anfänger-Themen 5
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
S Tastatureingabe auslesen und in Konsole ausgeben Java Basics - Anfänger-Themen 6
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
Zrebna Programm kann aus der Konsole nicht gestartet werden (in der IDE läuft es) Java Basics - Anfänger-Themen 2
J Konsole Java Basics - Anfänger-Themen 10
V Umgebungsvariable Genutzte Javaversion in der Konsole ändern Java Basics - Anfänger-Themen 5
N Tabelle schön in der Konsole ausgeben Java Basics - Anfänger-Themen 5
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
D Tabelle in der Konsole Java Basics - Anfänger-Themen 3
J Gefilterten Stream über die Konsole ausgeben Java Basics - Anfänger-Themen 1
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
P Array einlesen von Konsole Java Basics - Anfänger-Themen 8
A Programm in Konsole Java Basics - Anfänger-Themen 4
I OOP Objektnamen über die Konsole richtig einlesen Java Basics - Anfänger-Themen 9
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
E Compiler-Fehler Javac Windows vs Ubuntu /Script vs Konsole Java Basics - Anfänger-Themen 4
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
A Input/Output System.out Ausgabe aktualisieren, ohne Konsole vollzuspamen Java Basics - Anfänger-Themen 2
M Arrays auf Konsole formatiert ausgeben Java Basics - Anfänger-Themen 7
L Input/Output Konsole in Farben schreiben Java Basics - Anfänger-Themen 4
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
O Erste Schritte Scanner mehrere male benutzen (Konsole) Java Basics - Anfänger-Themen 7
O Etwas auf der Konsole ausgeben, usw. Java Basics - Anfänger-Themen 22
A Input/Output Prozess Output genauso in der Konsole ausgeben Java Basics - Anfänger-Themen 0
J Input/Output javac HelloWorld.java - Keine Textausgabe in der Konsole Java Basics - Anfänger-Themen 4
T Methoden Methode wird nicht auf Konsole ausgeführt Java Basics - Anfänger-Themen 3
T In Konsole darf nichts falsches eingetippt werden?! Java Basics - Anfänger-Themen 7
E Wie Passwort-Eingabe (ohne Echo!) über Konsole ? Java Basics - Anfänger-Themen 4
G Probleme mit Konsole Java Basics - Anfänger-Themen 4
J Zahlen aus Konsole einlesen Java Basics - Anfänger-Themen 1
C Input/Output Ein Spielbrett auf Konsole ausgeben Java Basics - Anfänger-Themen 2
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
F Wert in Linux auf die Konsole schreiben Java Basics - Anfänger-Themen 3
C Input/Output Einlesen von der Konsole mit InputStreamReader Java Basics - Anfänger-Themen 13
C Tannenbaum auf der Konsole ausgeben lassen Java Basics - Anfänger-Themen 12
Z AWT package -> keine Konsole? Java Basics - Anfänger-Themen 2
P Einlesen von der Konsole Java Basics - Anfänger-Themen 3
J Programm wird nicht auf der Konsole ausgeführt Java Basics - Anfänger-Themen 2
E Muster auf der Konsole ausgeben lassen (Schleifen) Java Basics - Anfänger-Themen 7
L Dialogbox statt Konsole verwenden Java Basics - Anfänger-Themen 5
B Konsole schließt sich sofort Java Basics - Anfänger-Themen 8
M Fortlaufende Konsole Java Basics - Anfänger-Themen 3
G Konsole gibt "alte" sachen aus Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
S Konsole Lanterna in NetBeans einbinden Java Basics - Anfänger-Themen 5
J ausgaben von der konsole in das fenster Java Basics - Anfänger-Themen 5
F String wird in Konsole nicht eingelesen Java Basics - Anfänger-Themen 19
A Objekte einer ArrayList auslesen und auf der Konsole ausgeben Java Basics - Anfänger-Themen 2
J Ausgabe auf der Konsole formatieren. Java Basics - Anfänger-Themen 6
T Konsole gibt nicht das Gewünschte aus Java Basics - Anfänger-Themen 5
N Mit Java Befehle auf Konsole ausführen Java Basics - Anfänger-Themen 4
M Input/Output Zeichen on Konsole einlesen Java Basics - Anfänger-Themen 3
S Erste Schritte Konsole leeren Java Basics - Anfänger-Themen 3
N String in Konsole schreiben?! Java Basics - Anfänger-Themen 2
S Beliebigen Tastendruck "einlesen" (ohne Konsole) Java Basics - Anfänger-Themen 3
F String wird richtig in konsole geschrieben aber falsch an Methode übergeben Java Basics - Anfänger-Themen 8
T Text auf der Konsole farbig machen Java Basics - Anfänger-Themen 6
OnDemand Applikation öffnen mit Konsole Java Basics - Anfänger-Themen 17
R Nach Ubuntu-Update: Konsole spuckt bei neu Kompilierten Programmen Fehler aus (BlueJ)(Ubuntu12.04) Java Basics - Anfänger-Themen 11
O Konsole - Kleine Frage Java Basics - Anfänger-Themen 22
O Bereits "gepostete" Strings in der Konsole verändern? Java Basics - Anfänger-Themen 2
T Parameter in Eigner Konsole Java Basics - Anfänger-Themen 2
B Erste Schritte Text in Konsole farbig ausgeben Java Basics - Anfänger-Themen 3
T Konsole leeren? Java Basics - Anfänger-Themen 7
K Methoden Einlesen einer unbegrenzten Matrix über Konsole Java Basics - Anfänger-Themen 6
S Programm läuft in Eclipse, aber nicht über Konsole Java Basics - Anfänger-Themen 10
E Keine Ausgabe der Konsole Java Basics - Anfänger-Themen 4
OnDemand Anführungszeichen im String werden als incompatible in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
J Java Daten von Konsole einlesen (Spezielles Problem) Java Basics - Anfänger-Themen 6
D Erste Schritte Java Konsole öffnet sich nicht Java Basics - Anfänger-Themen 4
S Konsole schließen, nachdem Jar läuft Java Basics - Anfänger-Themen 5
H Exit Befehl in eigener Konsole Java Basics - Anfänger-Themen 9
Luk10 Exception beim Ausführen per Konsole Java Basics - Anfänger-Themen 6
S Konsole work time Java Basics - Anfänger-Themen 9
S runable jar in der Konsole Java Basics - Anfänger-Themen 2
D Konsole leeren? Java Basics - Anfänger-Themen 5
B Konsole beendet - Programm kontrolliert runter fahren Java Basics - Anfänger-Themen 2
K javac in der konsole Java Basics - Anfänger-Themen 4
N Logger-Ausgabe und die Konsole Java Basics - Anfänger-Themen 4
S Erste Schritte Java Konsole öffnen ohne Sysout. Java Basics - Anfänger-Themen 3
masii Spielfeld auf Konsole ausgeben Java Basics - Anfänger-Themen 3
D jar datei nur über konsole ausführbar Java Basics - Anfänger-Themen 4
C Minesweeper mit Arrays über Konsole Java Basics - Anfänger-Themen 4
S Ausgabe auf Konsole nummerieren Java Basics - Anfänger-Themen 2
U jar funktioniert nur über konsole Java Basics - Anfänger-Themen 4
L Konsole und packages Java Basics - Anfänger-Themen 8
M Maskierte Eingaben in der Konsole? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben