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.
Dies ist das Hauptskript das ausgeführt wird:
Und dies das Skript, wo die Klasse drin ist, aus welcher das Objekt gebildet wird:
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
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