質問するログイン新規登録

質問編集履歴

2

エラーの追記

2020/01/30 09:37

投稿

mobage_sb69er
mobage_sb69er

スコア7

title CHANGED
File without changes
body CHANGED
@@ -51,7 +51,7 @@
51
51
  Iterator<Map.Entry<String, String[][]>> entry_itr2 = map.entrySet().iterator();
52
52
  while(entry_itr2.hasNext()) {
53
53
  // この次の行でエラー発生
54
- Map.Entry<String, String[][]> entry2 = entry_itr2.next();
54
+ Map.Entry<String, String[][]> entry2 = entry_itr2.next(); // 380行目
55
55
  String str_key2 = entry2.getKey();
56
56
  for(int i=0;i<len_zwei(entry2.getValue());i++) {
57
57
  for(int j=0;j<len_eins(entry2.getValue()[i]);j++) {
@@ -59,4 +59,15 @@
59
59
  }
60
60
  }
61
61
  }
62
- ```
62
+ ```
63
+
64
+ 追記のエラー文
65
+ ```
66
+ Exception in thread "main" java.util.ConcurrentModificationException
67
+ at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445)
68
+ at java.util.HashMap$EntryIterator.next(HashMap.java:1479)
69
+ at java.util.HashMap$EntryIterator.next(HashMap.java:1477)
70
+ at KCFG.KCFG_main.ToDCG(main.java:380)
71
+ at KCFG.KCFG_main.main(main.java:109)
72
+ ```
73
+ main文内の109行目で上の追記のプログラムのあるメソッドを呼び出しています。

1

プログラムの追記

2020/01/30 09:37

投稿

mobage_sb69er
mobage_sb69er

スコア7

title CHANGED
File without changes
body CHANGED
@@ -34,4 +34,29 @@
34
34
  }
35
35
  ```
36
36
 
37
- HashMapに入っていない普通の2次元配列(str[][])でlen_eins(str[0])のようにした場合はエラーは出ず、正しい配列に入っている(nullでない)要素数をが返ります。HashMapには予めkeyとvalueが入っており、str_keyもmap.get(str_key)[][]の中身も出力はできます。
37
+ HashMapに入っていない普通の2次元配列(str[][])でlen_eins(str[0])のようにした場合はエラーは出ず、正しい配列に入っている(nullでない)要素数をが返ります。HashMapには予めkeyとvalueが入っており、str_keyもmap.get(str_key)[][]の中身も出力はできます。
38
+
39
+ 追記のプログラム
40
+ ```
41
+ Iterator<Map.Entry<String, String[][]>> entry_itr1 = map.entrySet().iterator();
42
+ while(entry_itr1.hasNext()) {
43
+ Map.Entry<String, String[][]> entry1 = entry_itr1.next();
44
+ for(int i=0;i<len_zwei(entry1.getValue());i++) {
45
+ for(int j=0;j<len_eins(entry1.getValue()[i]);j++) {
46
+ // 1度目の処理
47
+ }
48
+ }
49
+ }
50
+
51
+ Iterator<Map.Entry<String, String[][]>> entry_itr2 = map.entrySet().iterator();
52
+ while(entry_itr2.hasNext()) {
53
+ // この次の行でエラー発生
54
+ Map.Entry<String, String[][]> entry2 = entry_itr2.next();
55
+ String str_key2 = entry2.getKey();
56
+ for(int i=0;i<len_zwei(entry2.getValue());i++) {
57
+ for(int j=0;j<len_eins(entry2.getValue()[i]);j++) {
58
+ // 2度目の処理
59
+ }
60
+ }
61
+ }
62
+ ```