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