読み込んだ行からランダムに選ぶ
外部テキストからBufferedReaderで読み込んだ行をStringTokenizerで * の前と後ろに分けて、
nichi ="" + st.nextToken();
ei ="" + st.nextToken();
というように取得しています。
これをsetTextメソッドで文字列として表示しているのですが、順に読み込んだ中からランダムに選ぶ場合はどうすれば良いでしょうか
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class examination extends Applet implements ActionListener{
Button Check, Next;
TextField jap, eng, seigo;
String wrs;
String nichi, ei;
public void init(){
setBackground(new Color(200, 200, 200));
add(new Label("[ japanese ]"));
jap = new TextField("", 30);
add(jap);
add(new Label("[ english ]"));
eng = new TextField("", 30);
add(eng);
Check = new Button("正誤判定");
Check.addActionListener(this);
add(Check);
seigo = new TextField("", 3);
add(seigo);
Next = new Button("次の問題へ進む");
Next.addActionListener(this);
add(Next);
}
public void actionPerformed(ActionEvent e){
try{
if(e.getSource() == Next){
BufferedReader wordsfile = new BufferedReader(new FileReader("D:/list.txt"));
while ((wrs=wordsfile.readLine())!= null){
StringTokenizer st = new StringTokenizer(wrs," * ");
nichi ="" + st.nextToken();
ei ="" + st.nextToken();
jap.setText(nichi); ←
}
wordsfile.close();
}(以下省略)
←の部分ですが、このままだと最後に読み込んだ行のnichiが表示されますよね?
これを読み込んだ中からランダムに一行選んで表示するにはどうすれば良いでしょうか。