Java
ランダム
if文
ネスト

JAVA4つの値以内でランダムに文字を出力する-出力される要素は重複を許可する(文字ver)

More than 3 years have passed since last update.

▪️方法①

import java.util.Random;

public class test21{
public static void main(String[] args) throws Exception {

test2();

}

public static void test2() {
for(int d = 0; d < 4; d++) {
int rnd = new Random().nextInt(4);
if(rnd == 0) {
System.out.println("ねこ1");
}
else if(rnd == 1) {
System.out.println("ねこ2");
}
else if(rnd == 2) {
System.out.println("ねこ3");
}
else {
System.out.println("ねこ4");
}

}
}
}

▪️方法①結果

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ3

ねこ1

ねこ4

ねこ4

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ4

ねこ3

ねこ1

ねこ2

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ1

ねこ2

ねこ4

ねこ4

▪️方法②

public static void test3() {

for(int d = 0; d < 4; d++) {
int rnd = new Random().nextInt(4)+ 1;

if(rnd == 1) {
System.out.println("ねこ"+ rnd);
}else if(rnd == 2) {
System.out.println("ねこ"+ rnd);
}else if(rnd == 3) {
System.out.println("ねこ"+ rnd);
}else {
System.out.println("ねこ"+ rnd);
}
}
}
}

▪️方法②解説

int rnd = new Random().nextInt(4)+ 1;

1〜4などの0から始めたくない場合は、生成した乱数に開始したい

整数をプラスすることで実現できる。

例)10〜19などの0から始めたくない場合は生成した乱数に開始したい整数を

プラスすることで実現できます。

int a = rnd.nextInt(10) + 10;

System.out.println(a);


例実行結果)

15

for(int d = 0; d < 4; d++)を

for(int d = 1; d < 5; d++)にしてもいい。

▪️方法②実行結果

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ1

ねこ4

ねこ1

ねこ4

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ3

ねこ3

ねこ3

ねこ1

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ2

ねこ2

ねこ4

ねこ4

▪️方法③

public static void test4() {

for(int e = 0; e < 4; e++) {
int rnd = new Random().nextInt(4)+ 1;
switch(rnd){
case 1:
System.out.println("ねこ"+ rnd);
break;
case 2:
System.out.println("ねこ"+ rnd);
break;
case 3:
System.out.println("ねこ"+ rnd);
break;
default:
System.out.println("ねこ"+ rnd);
//break;
//最後のdefaultだったらbreak;つけなくてもいい
}
}
}

▪️方法③実行結果

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ3

ねこ2

ねこ3

ねこ4

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ1

ねこ1

ねこ3

ねこ1

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ2

ねこ4

ねこ4

ねこ1

▪️方法④-一番簡単な方法

public static void test8() {

for(int i = 1; i < 5; i++) {
int rnd = new Random().nextInt(4) + 1;
System.out.println("ねこ" + rnd);
}
}

▪️方法④豆知識

カウンタ変数は基本iを使う

▪️方法④実行結果

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ1

ねこ4

ねこ3

ねこ3

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ3

ねこ1

ねこ3

ねこ3

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ4

ねこ3

ねこ2

ねこ4

▪️方法⑤

public static void test9() {

for(int i = 1; i < 5; i++) {
int rnd = new Random().nextInt(4) + 1;
if(rnd == 1 || rnd == 2 || rnd == 3 || rnd == 4)
System.out.println("ねこ" + rnd);
}
}

▪️方法⑤解説

|| → 倫理演算子。又は(どちらか片方の条件さえ満たされればtrue)

if文は普通条件によって処理を変えたい時に使うから、今回はrndが何の数字でも最終的に

System.out.println("ねこ"+rnd);

という全く同じ処理をしてるから分けなくてもいいから、if文一つでいいということになる。

▪️実行結果

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ4

ねこ2

ねこ2

ねこ4

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ1

ねこ3

ねこ2

ねこ3

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ1

ねこ4

ねこ4

ねこ1

▪️方法⑥

public static void test10() {

for(int i = 1; i < 5; i++) {
int rnd = new Random().nextInt(4) + 1;
switch(rnd){
case 1:
case 2:
case 3:
case 4:
System.out.println("ねこ" + rnd);
}
}
}

▪️方法⑥実行結果

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ3

ねこ2

ねこ2

ねこ2

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ3

ねこ4

ねこ1

ねこ2

Marimo-no-MacBook-Air:JAVA marimo$ java test21

ねこ4

ねこ1

ねこ3

ねこ4