2016-04-04 11 views
0

Ich bin ein Neuling zu Java und wäre sehr dankbar, wenn jemand in diesen Codeausschnitt schauen und mir eine Hand geben könnte.Java Elementar Code Snippet

@SuppressWarnings("unused") 
public static void main(String[] args) throws IOException { 

    File fin = new File("wordList"); 
    FileInputStream fis = new FileInputStream(fin); 
    BufferedReader br = new BufferedReader(new nputStreamReader(fis)); 
    List<String> wordList = new ArrayList<>(); 
    List<Character> guessedCharacters = new ArrayList<>(); 
    char guessedCharacter; 

    String line = ""; 
    while ((line = br.readLine()) != null) { 
     wordList.add(line); 
    } 
    br.close(); 

    System.out.println("Welcome to hanged man."); 
    System.out.println(); 

    for (int i = 0; i < wordList.size(); i++) { 

     System.out.print("Guess a letter: "); 
     guessedCharacter = (char) System.in.read(); 
     System.out.println('\n'); 

    } 

Wenn ich führen Sie den Code-Schnipsel oben ich folgende Ausgabe:

Willkommen in Gehenkten.

Raten Sie einen Brief: d

Raten Sie einen Brief:

Raten Sie einen Brief:

Meine Absicht die Aufforderung zu haben, ist nur einmal erscheinen „einen Brief Vermutung“, nachdem ich den ersten Buchstaben eingeben .

Wenn ich "wordList.size()" in der for-Schleife mit einer ganzen Zahl größer als drei ersetzen, bekomme ich das gleiche Ergebnis.

Ich hoffe, von jemandem zu hören. Vielen Dank im Voraus. Marcos

+1

Bitte senden Sie uns eine Probe _wordList_ Datei und die erwartete Ausgabe. – Berger

+0

Es ist nicht klar, was Sie tun möchten. Soll der Benutzer alle Wörter in Ihrer Wortliste erraten? Es gibt nichts in Ihrem Code, das den vermuteten Buchstaben überprüft. Möchten Sie nur einmal "Erraten eines Buchstabens" anzeigen lassen, damit ein bestimmtes Wort raten oder alle Wörter raten können? –

Antwort

0

Mit System.read.in() lesen Sie 'd' und '\ n' Werte. Versuchen Sie Scanner-Klasse zu verwenden (siehe here)

1

Was Sie suchen ist entweder die Scanner-Klasse (wahrscheinlich nicht, wie Sie Ihre Übung sieht trivial und Sie wollen wahrscheinlich nur die einfachste Möglichkeit, Tastatureingaben ohne GUI zu lesen) oder höchstwahrscheinlich diese:

String answer = System.console().readLine("Guess a letter : "); 

verwenden System.read nicht() Tastenanschläge zu lesen (oder es sei denn, Sie wollen die Dinge komplizieren „nur zum Spaß“ :)

+0

Hallo. Ich habe das kleine Problem mit der Klasse Scanner gelöst. Ich frage mich nur, warum es mit der Methode read() von System.in nicht funktioniert hat. – user2143292

+0

In jedem Fall bleibe ich bei den neuesten Ergänzungen zu Java. Vielen Dank für das Beantworten meiner Frage. – user2143292

Verwandte Themen