(取り出し方はランダム、出力数は配列の要素数とイコール、出力される要素は重複を許可する)
問 AとBがランダムに10回表示されるようにして下さい。
▪️方法①
import java.util.Random;
public static void test1() {
for(int e = 0; e < 10; e++) {
int rnd = new Random().nextInt(2);
if(rnd == 0) {
//偶数
System.out.println("A");
}
else{
//奇数
System.out.println("B");
}
}
}
▪️方法②
import java.util.Random;
public static void test1() {
for(int e = 0; e < 10; e++) {
int rnd = new Random().nextInt(2);
if(rnd == 0)
System.out.println("A");
if(rnd == 1)
System.out.println("B");
}
}
▪️実行結果
Marimo-no-MacBook-Air:JAVA marimo$ java test1
A
B
B
A
B
A
A
A
A
A
Marimo-no-MacBook-Air:JAVA marimo$ java test1
A
A
B
B
A
A
A
A
B
B
▪️方法②の解説
Randomクラスをインスタンス化、Randomクラスのインスタンスに対しnextIntメソッドを呼び出し、0以上2未満の整数をランダムで生成、生成した整数を変数rndに格納。
ということをしている
nextIntの()は発生させる乱数の上限値(指定値自体を含まない)
()に10を指定するとrndには0〜9のいずれかが代入される
▪️参考
public static void test7() {
for(int g = 0; g < 10; g++) {
int rnd = new Random().nextInt(5);
System.out.println(rnd);
}
}
▪️参考(実行結果)
Marimo-no-MacBook-Air:JAVA marimo$ java test20
0
1
0
3
2
1
0
4
2
4
Marimo-no-MacBook-Air:JAVA marimo$ java test20
4
1
3
0
3
4
4
3
0
0