使用count作为字符串索引如何生成随机单词?

时间:2017-05-25 07:43:16

标签: java text-files counter

我正在编写一个刽子手程序,我想取文字文件工作正常,能够填充数组列表并从数组列表中生成一个随机字。但我想做点新事。程序正在做的是相当容易和直接的,它逐行读取文本文件,每次读取一行时,它会增加计数。但我想使用计数值作为文本文件中单词的索引,从该文本文件生成一个随机单词。任何人都可以帮助我,我在哪里可以获得有关此问题的文档?

public class WordReader {


    private static String fileName = "Wordlist.txt";
    int count = 0;

    public WordReader() throws FileNotFoundException {
        File file = new File(fileName);
        try(Scanner sc = new Scanner(new FileInputStream(file))){
            int count=0;
            while(sc.hasNext()){
                sc.next();
                count++;
            }

        }
    }
}

2 个答案:

答案 0 :(得分:1)

String[] words = new string[<Size of array, for example lines count>]

然后在“words”数组中逐行添加单词

using (StreamReader a = new StreamReader("Words.txt")){
    words[i] = a.ReadLine();
}

现在你需要获得一个随机行

Random rnd = new Random();
int random = rnd.next(0,words.Count()-1)
string output = words[random];

答案 1 :(得分:0)

将它们加载到字符串的数组列表中,因此首先初始化数组列表

ArrayList<String> dict = new ArrayList()<>;

然后你需要在数组列表中添加一行(假设它每行一个单词)

dict.add(sc.next);

然后你需要得到一个随机数字的长度,一旦所有单词都被添加到列表中

Random rand = new Random();
int choice = rand.nextInt(dict.size());
String wordChoice = dict.get(choice);