回答編集履歴
4
\+1がいらなかった
answer
CHANGED
@@ -28,6 +28,6 @@
|
|
28
28
|
```java
|
29
29
|
// 丸付き1~20までに対応するUnicode
|
30
30
|
if (0x2460 <= ch[i] && ch[i] <= 0x2473) {
|
31
|
-
builder.append("\u001B\u0024\u0042\u002D").append((char)(0x21 + (ch[i] - 0x2460)
|
31
|
+
builder.append("\u001B\u0024\u0042\u002D").append((char)(0x21 + (ch[i] - 0x2460))).append("\u001B\u0028\u0042");
|
32
32
|
}
|
33
33
|
```
|
3
中括弧の対応を修正
answer
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
default:
|
20
20
|
builder.append(ch[i]);
|
21
21
|
}
|
22
|
+
}
|
22
23
|
return builder.toString();
|
23
24
|
}
|
24
25
|
```
|
2
まとめて変換
answer
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
case '\u2460': //①のUnicode
|
13
13
|
builder.append("\u001B\u0024\u0042\u002D\u0021\u001B\u0028\u0042");
|
14
14
|
continue;
|
15
|
-
case '\
|
15
|
+
case '\u2461': //②のUnicode
|
16
16
|
builder.append("\u001B\u0024\u0042\u002D\u0022\u001B\u0028\u0042");
|
17
17
|
continue;
|
18
18
|
// 中略
|
@@ -21,4 +21,12 @@
|
|
21
21
|
}
|
22
22
|
return builder.toString();
|
23
23
|
}
|
24
|
+
```
|
25
|
+
なお、丸数字からの変換規則はよくわかりませんが、5文字目が単純に順番に対応するだけなら、
|
26
|
+
まとめてこう書けそうな気がします。
|
27
|
+
```java
|
28
|
+
// 丸付き1~20までに対応するUnicode
|
29
|
+
if (0x2460 <= ch[i] && ch[i] <= 0x2473) {
|
30
|
+
builder.append("\u001B\u0024\u0042\u002D").append((char)(0x21 + (ch[i] - 0x2460) + 1)).append("\u001B\u0028\u0042");
|
31
|
+
}
|
24
32
|
```
|
1
シングルクォートの修正忘れ他
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
なぜこんなに無駄に行数長くしているのですか?
|
1
|
+
なぜこんなに無駄に行数長くしているのですか?Unicodeのところまとめて文字列リテラルにすればいいのに。
|
2
|
-
[StringBuilder](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/StringBuilder.html)という便利なクラスがありまして…
|
2
|
+
また、[StringBuilder](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/StringBuilder.html)という便利なクラスがありまして…
|
3
3
|
```java
|
4
4
|
public String convert(String str){
|
5
5
|
if(str == null){
|
@@ -12,7 +12,7 @@
|
|
12
12
|
case '\u2460': //①のUnicode
|
13
13
|
builder.append("\u001B\u0024\u0042\u002D\u0021\u001B\u0028\u0042");
|
14
14
|
continue;
|
15
|
-
case
|
15
|
+
case '\u2460': //②のUnicode
|
16
16
|
builder.append("\u001B\u0024\u0042\u002D\u0022\u001B\u0028\u0042");
|
17
17
|
continue;
|
18
18
|
// 中略
|