回答編集履歴

3

コメントについて返信

2015/12/15 06:11

投稿

退会済みユーザー
test CHANGED
@@ -57,3 +57,45 @@
57
57
  で想定の動作となると思います。
58
58
 
59
59
 
60
+
61
+ ---
62
+
63
+
64
+
65
+ (コメントを受けて追記)
66
+
67
+
68
+
69
+ 上記文中に示した、引数2個の`split`メソッドのリンク先説明を読んでいただきたいのですが、第2引数で指定した`2`は、最大で2個に分割する、という意味です。ですので、書かれている
70
+
71
+ ```java
72
+
73
+ if ((bbb != null) && (bbb.length == 2)) {
74
+
75
+ // 省略
76
+
77
+ } else {
78
+
79
+ System.out.println("else! bbb.length: " + bbb.length + " (" + Arrays.toString(bbb) + ")");
80
+
81
+ for (int i = 1; i < bbb.length; i++) {
82
+
83
+ bbb[1] = bbb[1] + bbb[i];
84
+
85
+ }
86
+
87
+ h_para.put(bbb[0], bbb[1]);
88
+
89
+ }
90
+
91
+ ```
92
+
93
+ の`else`に入るのは、`bbb`が`null`か、`length`が2未満(つまり0か1)のときだけです。
94
+
95
+ このようなとき、`else`内に書かれているfor文の中に入ることはありません。
96
+
97
+
98
+
99
+ `data= aa=yy,hhhjjj=っgh` も `split("=", 2)`で2個に分割されますので、`else`ではなく`if`の方に入ります。
100
+
101
+

2

typo

2015/12/15 06:10

投稿

退会済みユーザー
test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
  ```java
52
52
 
53
- String[] bbb = aaa[iII].split("=", 1);
53
+ String[] bbb = aaa[iII].split("=", 2);
54
54
 
55
55
  ```
56
56
 

1

想定される修正方法を追記

2015/12/15 02:48

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- if分岐で設定しない場合があることを考えると、条件に当てはまっていない、と想像がつくかと思います。
1
+ if分岐で設定しない場合があることを考えると、設定されていないということは条件に当てはまっていないのでは、と想像がつくかと思います。
2
2
 
3
3
 
4
4
 
@@ -36,4 +36,24 @@
36
36
 
37
37
 
38
38
 
39
- `bbb.length`が3なためですね。
39
+ `bbb.length`が`3`なためですね。
40
+
41
+
42
+
43
+ ----
44
+
45
+
46
+
47
+ おそらく所望の動作は[こちら](https://docs.oracle.com/javase/jp/6/api/java/lang/String.html#split(java.lang.String, int))の、引数を2つ採る`String#split(String,int)`かと。
48
+
49
+
50
+
51
+ ```java
52
+
53
+ String[] bbb = aaa[iII].split("=", 1);
54
+
55
+ ```
56
+
57
+ で想定の動作となると思います。
58
+
59
+