回答編集履歴
2
指摘反映
answer
CHANGED
@@ -36,4 +36,14 @@
|
|
36
36
|
pos = 0; // 最初からやりなおし
|
37
37
|
}
|
38
38
|
}
|
39
|
-
```
|
39
|
+
```
|
40
|
+
|
41
|
+
以下コメント
|
42
|
+
|
43
|
+
> そのやり方では、乱数が
|
44
|
+
a c b a c b c a c b c a b
|
45
|
+
のような列を生成した時、最初の a c b c を検出できず、
|
46
|
+
2つ目の a c b c で終了します。
|
47
|
+
|
48
|
+
その通りです。
|
49
|
+
単純にposを0にするのがダメですが、直すのは面倒なのでこのまま放置。
|
1
あらら・・・
answer
CHANGED
@@ -15,4 +15,25 @@
|
|
15
15
|
|
16
16
|
文字列連結は、+演算子を使うかStringBuilder#appendを使えばよいです。
|
17
17
|
|
18
|
-
最後の4文字の比較は、[String#lastIndexOf](https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/lang/String.html#lastIndexOf(java.lang.String))というのがあります。
|
18
|
+
最後の4文字の比較は、[String#lastIndexOf](https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/lang/String.html#lastIndexOf(java.lang.String))というのがあります。
|
19
|
+
|
20
|
+
---
|
21
|
+
あらら退会しちゃいましたか。
|
22
|
+
元のソースっぽくやるなら以下みたいなのを想定していたのだろうかと。
|
23
|
+
|
24
|
+
```java
|
25
|
+
int pos = 0;
|
26
|
+
String[] ans = {"a","c","b","c"};
|
27
|
+
String[] mozi = {"a","b","c"};
|
28
|
+
Random r = new Random();
|
29
|
+
for(int i=0 ; i<1000; i++) {
|
30
|
+
String s = mozi[r.nextInt(3)];
|
31
|
+
System.out.println(s);
|
32
|
+
if(s.equals(ans[pos])) { // s と ans をcharにすれば== 比較ができる
|
33
|
+
pos++; // ansの確認を a -> c -> b -> c という風にずらしていく
|
34
|
+
if(pos == ans.length) break; // 最後まで一致したらループ終了
|
35
|
+
} else {
|
36
|
+
pos = 0; // 最初からやりなおし
|
37
|
+
}
|
38
|
+
}
|
39
|
+
```
|