java - 从数组列表中获取随机单词

标签 java random arraylist

我想在 getRandom 方法中从 ArrayList 中获取一个随机单词。我的 ArrayList 是从文件加载的。然后我将在刽子手游戏中使用这个词。所以我希望它被打印成 *****

import java.util.*;
import java.io.*;


public class Application {
    private ArrayList<Pirateword> piratewords;
    private Scanner input;

    public Application(){
        input=new Scanner(System.in);
        piratewords=new ArrayList<Pirateword>();

    }

    public void runApplication() throws IOException {

        String response;
        String w;
        do {

            load("piratewords.txt");
            save("piratewords.txt");
            response=input.nextLine();


    } while (!((response.equals("q")|| (response.equals("q")))));
        System.out.println("Thank you for playing");
    }




    public void load(String fileName) throws IOException{
        Scanner infile =new Scanner(new InputStreamReader(new FileInputStream(fileName)));
        int num=infile.nextInt();infile.nextLine();
        for (int i=0;i<num;i++) {
            String w=infile.nextLine();
            Pirateword p=new Pirateword(w);
            piratewords.add(p);
        }
        infile.close();
    }

    public void save(String fileName) throws IOException{
        PrintWriter outfile = new PrintWriter(new OutputStreamWriter(new FileOutputStream(fileName)));
        outfile.println(piratewords.size());
        for (Pirateword p:piratewords) {
            outfile.println(p.toString());
        }
        outfile.close();
    }

    public void getRandom() {

}
}

最佳答案

public String getRandom() {
    return piratewords.get(new Random().nextInt(piratewords.size());
}

关于java - 从数组列表中获取随机单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23032851/

相关文章:

java - 检测 Java gwt 中的浏览器

java - 二维数组对一行中除对角线索引之外的所有数字求和

Java - 接口(interface),实例化一个接口(interface)?

random - 改进的 Perlin 噪声 "too smooth"

java - Random.nextDouble 数学错误

java - Java 中的数组列表和列表

Java UDP STUN 使用 DatagramSocket 打洞

mysql - 用随机元音替换 mysql 列中的所有元音

java - 通过循环数组列表来填充 setter

java - 是否可以使用大小为 -1 的 ArrayList?