このコードがあります。
Scanner s = new Scanner(getResources().openRawResource(R.raw.game));
try {
while (s.hasNextLine()) {
System.out.println(s.nextLine());
}
} finally {
s.close();
}
このコードからランダムな行をロードするにはどうすればよいですか?
ありがとう。
このコードがあります。
Scanner s = new Scanner(getResources().openRawResource(R.raw.game));
try {
while (s.hasNextLine()) {
System.out.println(s.nextLine());
}
} finally {
s.close();
}
このコードからランダムな行をロードするにはどうすればよいですか?
ありがとう。
行を などの別のデータ構造にロードし、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()));
}
最初にそれらすべてをファイルから配列にロードし、そのString
配列からランダムにそれらの 1 つを選択しString
ます。
String 配列への収集を行ったとしますlines
。
int randomLine = (int)(Math.random()*lines.length);
そこにランダムな行があります。
編集:まあ、あなたはただ使うことができますString[]