簡體   English   中英

Java基本代碼段

[英]Java elementary code snippet

我是Java的新手,如果有人可以看一下這段代碼片段並給我幫助,將不勝感激。

@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');

    }

當我運行上面的代碼片段時,得到以下輸出:

歡迎來到絞死的男人。

猜一封信:d

猜一封信:

猜一封信:

我的意圖是讓提示“猜字母”僅在輸入第一個字母后出現一次。

如果我用大於3的任何整數替換for循環中的“ wordList.size()”,我將得到相同的結果。

我希望能聽到別人的消息。 先感謝您。 馬可斯

您正在尋找的是使用Scanner類(可能不是,因為您的練習看起來很瑣碎,並且您可能只是想以最簡單的方式來讀取沒有任何GUI的鍵盤輸入),或者很可能是這樣的:

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

不要使用System.read()來讀取擊鍵(或者除非您想“為了娛樂而使事情復雜化” :)

使用System.read.in()可以讀取'd'和'\\ n'值。 嘗試使用Scanner類(請參閱此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM