我是Java
的新手,这是我的第一篇文章。
我想创建一个程序,在屏幕上打印用户指定的单词数,这些单词是从包含多页文本的外部记事本文件中随机抽取的。语法并不重要,但每个单词应该同样可能被选中(一种控制单词重复的方法也会很好,但不是必需的)。
目前,我有Scanner提示用户输入一个数字,存储为变量" number"确定要拉多少个单词。程序应该读取文本文件(或将其内容加载到某种列表或数组?)并选择至少一个字符长度的随机单词。重复循环"数字"时间并显示整个结果字符串。
我需要帮助的部分是1)告诉程序访问文件; 2)确保随机挑选单词。我怎么做?
非常感谢您的关注!
/*
* Program description: Pulls a user-defined number of random words from an
* external text file and prints the resulting text string on screen.
* JDK version 1.7.0_60
*/
import java.util.Scanner;
public class RandomTextGen {
public static void main(String[] args) {
Scanner keyboard = new Scanner (System.in);
System.out.print("Enter number of words to pull: ");
int number = keyboard.nextInt();
// Load text file
// Create loop to pull number of words in random order
System.out.println(""); //Output results
}
}
答案 0 :(得分:2)
阅读文件并将其存储到List
FileInputStream in = new FileInputStream("yourfile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
List<String> filearray = new ArrayList<String>();
while ((strLine = br.readLine()) != null) {
for (int j = 0; j < myarray.length; j++){
// get the whole line and split into words
String[] s = br.readLine().split(" ");
// put each word in the list
for (String s : strings)
filearray.add();
}
}
in.close();
获取List.size()
并选择一个随机数
int size = filearray.size();
Random rn = new Random();
int randomWord = rn.nextInt(size);
并打印
System.out.println("Random word is: " + filearray.get(randomWord));
注意:根据需要多次重复此操作......