回答編集履歴
1
フラグ管理
answer
CHANGED
@@ -1,4 +1,28 @@
|
|
1
1
|
breakが内側のfor文にしか効かないので、無限ループの外側のfor文を抜け出すことができません。
|
2
2
|
何らかの方法で外側のforを抜ける必要があります。対処法としては
|
3
3
|
0. 外側のforでフラグを用意し、内側の条件でフラグを立て、内側を抜けた後判定
|
4
|
+
```java
|
5
|
+
for(;;){
|
6
|
+
System.out.println("一桁の数字を入力してください");
|
7
|
+
int number[] = {3,4,9};
|
8
|
+
//正解判定用フラグ
|
9
|
+
boolean right = false;
|
10
|
+
for (int n: number){
|
11
|
+
int input = new java.util.Scanner(System.in).nextInt();
|
12
|
+
//正解した時の処理
|
13
|
+
if (input == n){
|
14
|
+
System.out.println("あたり");
|
15
|
+
System.out.println("ゲームを終了します");
|
16
|
+
right = true;
|
17
|
+
break;
|
18
|
+
} else {
|
19
|
+
System.out.println("残念もう一度");
|
20
|
+
}
|
21
|
+
}
|
22
|
+
if (right) {
|
23
|
+
break;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
```
|
27
|
+
|
4
28
|
0. 外側のforにラベルを設定し、内側のbreakでラベル指定する(あまりお勧めしない)
|