0

我有这段代码;

Scanner s = new Scanner(getResources().openRawResource(R.raw.game));

try {
    while (s.hasNextLine()) {

        System.out.println(s.nextLine());

    }
} finally {
    s.close();
} 

如何从这段代码中加载随机行?

谢谢。

4

3 回答 3

2

您可以将这些行加载到另一个数据结构中,例如 anArrayList然后用于Random生成随机索引号。

下面是一些将其放入 ArrayList 的代码:

Scanner s = new Scanner(getResources().openRawResource(R.raw.game));
ArrayList<String> list = new ArrayList<String>();

try {
    while (s.hasNextLine()) {
        list.add(s.nextLine());      
    }
} finally {
    s.close();
} 

此代码将返回一个随机行:

public static String randomLine(ArrayList list) {
    return list.get(new Random().nextInt(list.size()));
}
于 2013-08-10T00:13:39.143 回答
1

假设您对 String 数组进行了收集lines

int randomLine = (int)(Math.random()*lines.length);

那里有你的随机线。

编辑:哦,好吧,你可以只使用String[]

于 2013-08-10T00:06:06.997 回答
1

首先将它们从文件中加载到一个String数组中,然后从该String数组中随机选择一个。

于 2013-08-10T00:00:45.233 回答