回答編集履歴

2

Map.of を追加

2018/09/28 15:13

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  map を使うことを見落としていました。
32
32
 
33
- jshell で map の初期化を書くのはつらいので、書きませんが、
33
+ jshell で map の初期化を書くのはつらいので、書きませんが、
34
34
 
35
35
  map (半角数字 -> 漢字数字) をつくったら
36
36
 
@@ -47,6 +47,18 @@
47
47
  のようにすれば良いです。
48
48
 
49
49
 
50
+
51
+ ==> コメントで指摘を受けたので、Map.of で書いてみました。
52
+
53
+ ```java
54
+
55
+ Map<String, String> mm = Map.of("0", "〇", "1", "一", "2", "二", "3", "三", "4", "四", "5", "五", "6", "六", "7", "七", "8", "八", "9", "九");
56
+
57
+ for(Map.Entry<String, String> e : mm.entrySet()){System.out.println(e.getKey() + " -> " + e.getValue());}
58
+
59
+ ```
60
+
61
+ ![イメージ説明](9cfa0257b78edb3ea9aebd15f7c776c2.png)
50
62
 
51
63
 
52
64
 

1

追記

2018/09/28 15:13

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -26,6 +26,30 @@
26
26
 
27
27
 
28
28
 
29
+ 追記;
30
+
31
+ map を使うことを見落としていました。
32
+
33
+ jshell で map の初期化を書いくのはつらいので、書きませんが、
34
+
35
+ map (半角数字 -> 漢字数字) をつくったら
36
+
37
+ ```java
38
+
39
+ for(Map.Entry<String, String> entry : map.entrySet()) {
40
+
41
+ s = s.replaceAll(entry.getKey(), entry.getValue());
42
+
43
+ }
44
+
45
+ ```
46
+
47
+ のようにすれば良いです。
48
+
49
+
50
+
51
+
52
+
29
53
  参考情報
30
54
 
31
55
  - Java NumberFormatクラスを使って数値を3桁カンマ区切りにフォーマット(整形)する
@@ -37,3 +61,9 @@
37
61
  - is there a way to use tr/// (or equivalent) in java?
38
62
 
39
63
  [https://stackoverflow.com/questions/7457886/](https://stackoverflow.com/questions/7457886/)
64
+
65
+
66
+
67
+ - Javaの拡張ForループでMapをループ
68
+
69
+ [https://qiita.com/kaneko_tomo/items/b9bd6775a78cb95d2a1b](https://qiita.com/kaneko_tomo/items/b9bd6775a78cb95d2a1b)