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

回答編集履歴

2

Map.of を追加

2018/09/28 15:13

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  追記;
16
16
  map を使うことを見落としていました。
17
- jshell で map の初期化を書くのはつらいので、書きませんが、
17
+ jshell で map の初期化を書くのはつらいので、書きませんが、
18
18
  map (半角数字 -> 漢字数字) をつくったら
19
19
  ```java
20
20
  for(Map.Entry<String, String> entry : map.entrySet()) {
@@ -23,6 +23,12 @@
23
23
  ```
24
24
  のようにすれば良いです。
25
25
 
26
+ ==> コメントで指摘を受けたので、Map.of で書いてみました。
27
+ ```java
28
+ Map<String, String> mm = Map.of("0", "〇", "1", "一", "2", "二", "3", "三", "4", "四", "5", "五", "6", "六", "7", "七", "8", "八", "9", "九");
29
+ for(Map.Entry<String, String> e : mm.entrySet()){System.out.println(e.getKey() + " -> " + e.getValue());}
30
+ ```
31
+ ![イメージ説明](9cfa0257b78edb3ea9aebd15f7c776c2.png)
26
32
 
27
33
  参考情報
28
34
  - Java NumberFormatクラスを使って数値を3桁カンマ区切りにフォーマット(整形)する

1

追記

2018/09/28 15:13

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -12,9 +12,24 @@
12
12
 
13
13
  これをもとにプログラムを組めると思います。
14
14
 
15
+ 追記;
16
+ map を使うことを見落としていました。
17
+ jshell で map の初期化を書いくのはつらいので、書きませんが、
18
+ map (半角数字 -> 漢字数字) をつくったら
19
+ ```java
20
+ for(Map.Entry<String, String> entry : map.entrySet()) {
21
+ s = s.replaceAll(entry.getKey(), entry.getValue());
22
+ }
23
+ ```
24
+ のようにすれば良いです。
25
+
26
+
15
27
  参考情報
16
28
  - Java NumberFormatクラスを使って数値を3桁カンマ区切りにフォーマット(整形)する
17
29
  [https://www.javalife.jp/2018/01/20/post-243/](https://www.javalife.jp/2018/01/20/post-243/)
18
30
 
19
31
  - is there a way to use tr/// (or equivalent) in java?
20
- [https://stackoverflow.com/questions/7457886/](https://stackoverflow.com/questions/7457886/)
32
+ [https://stackoverflow.com/questions/7457886/](https://stackoverflow.com/questions/7457886/)
33
+
34
+ - Javaの拡張ForループでMapをループ
35
+ [https://qiita.com/kaneko_tomo/items/b9bd6775a78cb95d2a1b](https://qiita.com/kaneko_tomo/items/b9bd6775a78cb95d2a1b)