0

我的刽子手程序有问题。我真的认为我需要做的超出了我对 java 的理解。这是我的代码

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Random;

public class HangmanProject
{
    public static void main(String[] args) throws FileNotFoundException
    {
        String scoreKeeper; // to keep track of score
        int guessesLeft; // to keep track of guesses remaining
        String[] wordList = new String[25];
        final Random generator = new Random();
        Scanner keyboard = new Scanner(System.in); // to read user's input
        System.out.println("Welcome to Nick Carfagno's Hangman Project!");
        // Create a scanner to read the secret words file
        Scanner wordScan = null;
        try
        {
            wordScan = new Scanner(new BufferedReader(new FileReader("words.txt")));
            while (wordScan.hasNext())
            {
            }
        }
        finally
        {
            if (wordScan != null)
            {
                wordScan.close();
            }
        }
        // get random word from array
        class pickRand
        {
            public String get(String[] wordList)
            {
                int rnd = generator.nextInt(wordList.length);
                return wordList[rnd];
            }
        }
        System.out.println(wordList);
    }
}

我能够让程序读取文件然后打印到屏幕上,但我不知道如何将文件中的单词存储到数组中。我根本没有进步,所以请尝试尽可能彻底。

4

2 回答 2

1

1)到目前为止,您所拥有的看起来还不错:)

2)由于您不确切知道您将拥有多少或几个单词,所以您不需要“数组”。使用“ArrayList”可能会更好。数组是“固定的”。列表是“变量”。

3)对于您阅读的每个“单词”,只需将“.add()”它添加到您的数组列表中

瞧!完毕。

这是一个完整的例子:

于 2012-08-24T16:48:28.680 回答
0

您需要将读取的行保存在一个String对象中并将其分配给数组的某个字段。例如:

wordList[0] = myString;

这会将值分配给myString数组的第一个字段。

于 2012-08-24T16:51:24.097 回答