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

行を などの別のデータ構造にロードし、ArrayListそれを使用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配列からランダムにそれらの 1 つを選択しStringます。

于 2013-08-10T00:00:45.233 に答える
1

String 配列への収集を行ったとしますlines

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

そこにランダムな行があります。

編集:まあ、あなたはただ使うことができますString[]

于 2013-08-10T00:06:06.997 に答える