No line found-Fehler bei Scanner

Globalhost

Mitglied
Hallo Leute,

Ich bin ein Einsteiger in Java und um ein bisschen zu üben wollte ich mal ein kleines Spiel programmieren.
Meine Wahl fiel dann auf Hangman.
Ich habe dann mal versucht zuschreiben, kam auch ziemlich weit, aber aktuell kommt immer ein Fehler.

Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at hangman.main(hangman.java:17)

Dies ist das Hauptskript das ausgeführt wird:
Java:
import java.util.Random;
import java.util.Scanner;


public class hangman {

	public static void main(String[] args) {
		Random zufall = new Random();
		wort wort1 = new wort(zufall.nextInt(5));
		for(int counter = 0; counter < wort1.getWortLaenge(); counter++){
			System.out.print(" _");
		}
		System.out.println();
		System.out.println();
		while(wort1.getWortGeloesst()==false){
			Scanner eingabe = new Scanner(System.in);  // Benutzer Buchstaben eingabe
			String buchstabe = eingabe.nextLine();
			int bdabei = wort1.buchstabePruefen(buchstabe.charAt(0));
			
			if (bdabei != -1){
				wort1.buchstabeAufdecken(bdabei);
				wort1.buchstabenAnzeigen();
			}
			eingabe.close();
		}
	}

}

Und dies das Skript, wo die Klasse drin ist, aus welcher das Objekt gebildet wird:
Java:
public class wort {
		
	private int laenge = 0;
	private String wort = "";
	private boolean geloesst = false; //Ob das Wort geloesst ist
	private char[] b;  //Buchstaben
	private boolean[] bgeloesst; //welche Buchstaben geloesst sind
	
	public wort(int wortNummer){
		if(wortNummer == 0){
			wort = "Tastatur";
			b = wort.toCharArray();
		}
		else if(wortNummer == 1){
			wort = "Maus";
			b = wort.toCharArray();
		}
		else if(wortNummer == 2){
			wort = "Bildschirm";
			b = wort.toCharArray();
		}
		else if(wortNummer == 3){
			wort = "Monitor";
			b = wort.toCharArray();
		}
		else if(wortNummer == 4){
			wort = "Drucker";
			b = wort.toCharArray();
		}
		else if(wortNummer == 5){
			wort = "Kalender";
			b = wort.toCharArray();
		}
		
		laenge = wort.length();
		b = wort.toCharArray();
		}
	
	public String getWort(){ // Getter für Wort
		return this.wort;
	}
	
	public int getWortLaenge(){
		return this.laenge;
	}
	
	public boolean getWortGeloesst(){
		return this.geloesst;
	}
	
	public int buchstabePruefen(char buchstabe){
		int i = 0; 
		
		for(int counter = 0; counter < this.laenge; counter++){		
		
			if (buchstabe == b[i]){
				return i;
			}
			
			i++;
		}
		return -1;
	}
	
	public void buchstabeAufdecken(int bPosition){
		try{
		bgeloesst[bPosition] = true;
		}
		catch(Exception e){
			System.out.println("Fehler bei buchstbenufdecken " + bPosition);
		}
	}
	
	public void buchstabenAnzeigen(){
		System.out.println();
		for(int counter = 0; counter < this.laenge; counter++)
		if(bgeloesst[counter] == true){
			System.out.print(" " + b[counter]);
		}
		else{
			System.out.print(" _");
			counter++;
		}
	}
}

Falls ein Buchstabe stimmt kommt auch noch ein Fehler den ich aber aktuell abfange mit einem Try-Catch.
Wisst ihr was der/die Fehler ist/sind?

Globalhost

PS: Ich habe Win 7 Professionell und nutze Eclipse
 

Flown

Administrator
Mitarbeiter
Du hast dein boolean-Array noch niergends initialisiert, desshalb bekommst du die Exception.

Java:
bgeloesst = new boolean[laenge];

Sowas fehlt dir noch im Konstruktor.

Java:
        Scanner eingabe = new Scanner(System.in);  // Benutzer Buchstaben eingabe
        while(wort1.getWortGeloesst()==false){
            String buchstabe = eingabe.nextLine();
            int bdabei = wort1.buchstabePruefen(buchstabe.charAt(0));
           
            if (bdabei != -1){
                wort1.buchstabeAufdecken(bdabei);
                wort1.buchstabenAnzeigen();
            }
        }
        eingabe.close();

Du brauchst nur einen Scanner um aus deiner Console zu lesen.

Java:
    public void buchstabenAnzeigen(){
        System.out.println();
        for(int counter = 0; counter < this.laenge; counter++)
        if(bgeloesst[counter] == true){
            System.out.print(" " + b[counter]);
        }
        else{
            System.out.print(" _");
        }
    }

Und im else-Zweig weg mit dem counter++.

Also einiges könnte man an deinem Programm verbessern. Wenn du die Tipps haben willst, dann sag es einfach.
 
Zuletzt bearbeitet:

Globalhost

Mitglied
Ja da ich Anfänger bin wären Tipps schon toll.
Ich habe noch ein paar Probleme:
  1. Wie löße ich das Groß- u. Kleinbuchstaben egal sind
  2. Wenn ich mehrmals die selben Buchstaben habe, wird nur der erste aufgedeckt
 

Gucky

Top Contributor
Wärst du alles mit dem Debugger abgelaufen, hättest du 99% aller Fehler gefunden ;)

Groß und Kleinschreibung egal: du machst alles zu Buchstaben oder zu Großbuchstaben, was ich besser fände --> toUpperCase()
Für das Suchen nach einem Buchstaben würde ich die contains(String) Methode nehmen. Dann übergibst du keinen char sondern einen String. Und dann kannst du zuerst deine Wörter in Großbuchstaben speichern und dann contains(str.toUpperCase()); schreiben oder Kleinbuchstaben in der Eingabe abblocken, also eine entsprechende Meldung ausgeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D java.util.NoSuchElementException: No line found Java Basics - Anfänger-Themen 11
lougoldi Command Line Java Basics - Anfänger-Themen 9
A Java command line binding (library)? Java Basics - Anfänger-Themen 5
B cal4j - Error at line 1:Unexpected end of file Java Basics - Anfänger-Themen 0
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
B Wieso wird die Zeile "column" genannt und die Spalte "line"? Java Basics - Anfänger-Themen 12
D Java-API mit Command Line Tool für Rasenroboter umsetzen Java Basics - Anfänger-Themen 10
K RegEx - Multiple Line Java Basics - Anfänger-Themen 3
B Quellcode einelsen "line by line" (und abspeichern in file (txt) Java Basics - Anfänger-Themen 7
G Line Separator in ArrayList durch ";" ersetzen Java Basics - Anfänger-Themen 4
F Line zeichnen und Werte ändern Java Basics - Anfänger-Themen 6
G PrintWriter each line möglich? Java Basics - Anfänger-Themen 4
Dogge Multiple markers at line 15 Java Basics - Anfänger-Themen 13
F System.getProperty("line.separator") funkt. nicht Java Basics - Anfänger-Themen 4
H Multiple Markers at this line Java Basics - Anfänger-Themen 3
D Scanner hasNext(Line)() Block Problematik... Java Basics - Anfänger-Themen 6
H Command Line in Java Java Basics - Anfänger-Themen 3
E line=In.readLine() Java Basics - Anfänger-Themen 2
M Einlesen von Binärdateien (binary interleaved by line) Java Basics - Anfänger-Themen 3
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
J NullPointerException line = br.readLine().length() Java Basics - Anfänger-Themen 9
K Anzahl Zeichenfolge in Line ermitteln Java Basics - Anfänger-Themen 3
A Line-Editor Java Basics - Anfänger-Themen 2
P "Line too long" bei der Generierung des jars. Java Basics - Anfänger-Themen 5
S Mit line.split() leider unterschiedliche Anzahl von Spalten Java Basics - Anfänger-Themen 19
I No Jakarta Enterprise Beans found with interface ignorieren? Java Basics - Anfänger-Themen 2
I No EJB found with interface of type Java Basics - Anfänger-Themen 12
I Browser integriert in Desktop Applikation - Webcam interface not found Java Basics - Anfänger-Themen 26
C No suitable driver found for jdbc:odbc:mysql Java Basics - Anfänger-Themen 8
B No Main Classes Found Java Basics - Anfänger-Themen 7
A Class not found - Jar liegt am classpath Java Basics - Anfänger-Themen 2
C Erste Schritte (Netbeans) no main classes found Java Basics - Anfänger-Themen 5
N Email mit Anhang - File not Found Java Basics - Anfänger-Themen 1
M Java Bibliothek Javadoc not found Java Basics - Anfänger-Themen 1
D JDK installieren No JVM could be found on your system. Java Basics - Anfänger-Themen 9
B Compiler-Fehler Hilfe!!! required variable ; found value Java Basics - Anfänger-Themen 4
S Class File Editor gibt beim Start der Programms die Fehlermeldung Source not found aus Java Basics - Anfänger-Themen 1
K The Java Runtime Environment cannot be found. Java Basics - Anfänger-Themen 6
X javac file not found Java Basics - Anfänger-Themen 4
Kenan89 XML-Files erstellen wirft File not found Exception Java Basics - Anfänger-Themen 9
S Classpath Mainclass could not be found Java Basics - Anfänger-Themen 17
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
N Java Kara --> Class Not Found Java Basics - Anfänger-Themen 22
F Log4j - log4j:WARN No appenders could be found for logger Java Basics - Anfänger-Themen 1
R Switch Abfrage: Found boolean but expected int? Java Basics - Anfänger-Themen 7
E found int but expect boolean Java Basics - Anfänger-Themen 4
B Class Not found Java Basics - Anfänger-Themen 2
A JAR2EXE -> Java Runtime Environment not found Java Basics - Anfänger-Themen 4
Luk10 method () not found Java Basics - Anfänger-Themen 9
P Reflection - Class Not Found Exception Java Basics - Anfänger-Themen 3
J Batch Datei liefert CLASS NOT FOUND Warum !? Java Basics - Anfänger-Themen 11
M Main Class Not Found... Java Basics - Anfänger-Themen 11
Spin SAX parsen ..XML not found Java Basics - Anfänger-Themen 2
D No match found Java Basics - Anfänger-Themen 3
F eclipse- source not found Java Basics - Anfänger-Themen 2
D Class not found fehler beim ausführen unter konsole : / Java Basics - Anfänger-Themen 2
P Java Interpreter No Class def found Java Basics - Anfänger-Themen 15
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
A MainClass not Found auf verschiedenen Rechnern Java Basics - Anfänger-Themen 2
G JUnit laeuft nicht -> Class not found Java Basics - Anfänger-Themen 2
J System.out.println(. + (found ? "" : "k" Java Basics - Anfänger-Themen 8
G Eclipse source not found Java Basics - Anfänger-Themen 5
G Eclipse + "source not found" Fehler Java Basics - Anfänger-Themen 6
D File not Found in Eclipse. Java Basics - Anfänger-Themen 3
T method <init> not found in class . Java Basics - Anfänger-Themen 4
F Kann mir jemand bei dem Fehler helfen? Java Basics - Anfänger-Themen 6
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
E Matrizenmultiplikation Fehler Java Basics - Anfänger-Themen 0
Z Fehler Zeiterfassungsprogramm Anzeige Java Basics - Anfänger-Themen 3
C SwingWorker mit Fehler Java Basics - Anfänger-Themen 2
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
G Compiler-Fehler Fehler in Zeile 1 beheben, wie? Java Basics - Anfänger-Themen 9
W Fehler in der Datei pom.xml Java Basics - Anfänger-Themen 19
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
ohneInformatik; Dynamische Zinsen. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
Fiedelbambu deriveFont Fehler wer kann Helfen? Java Basics - Anfänger-Themen 4
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
Lion.King Fehler in double und int Java Basics - Anfänger-Themen 7
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
D Datentypen LocalDate.parse() ergibt Fehler Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
N Fehler "Cannot instantiate the type" Java Basics - Anfänger-Themen 3
L Ich weis nicht was der Fehler ist! Java Basics - Anfänger-Themen 14
L30nS JNI Fehler, JRE und JDK Java Basics - Anfänger-Themen 8
E Executable jar file fehler Java Basics - Anfänger-Themen 9
S Fehler beim Programm Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
J Syntax-Fehler? Java Basics - Anfänger-Themen 2
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
I Fehler bei for-Schleife Java Basics - Anfänger-Themen 6
lol5443 Tic Tac Toe Fehler Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben