fork download
  1. import java.util.*;
  2. import java.lang.*;
  3.  
  4. // ぼくのかんがえたあんごう
  5. class Main {
  6. public static void main (String[] args) throws java.lang.Exception {
  7. List<Character> あんごうせっていりすと = new ArrayList<>();
  8. for (char もじ : C.もじせっと.toCharArray()) あんごうせっていりすと.add(もじ);
  9. Collections.shuffle(あんごうせっていりすと);
  10. StringBuilder ばっふぁ = new StringBuilder();
  11. for (Character もじ : あんごうせっていりすと) ばっふぁ.append(もじ);
  12.  
  13. String あんごうせってい = ばっふぁ.toString();
  14.  
  15. C いんすたんす = new C(ばっふぁ.toString());
  16.  
  17. String ひらぶん = "はろー、わーるど。";
  18.  
  19. System.out.println("あんごうせってい:" + あんごうせってい);
  20. System.out.println("ひらぶん    :" + ひらぶん);
  21.  
  22. String あんごうぶん = いんすたんす.あんごうかする(ひらぶん);
  23.  
  24. System.out.println("あんごうぶん  :" + あんごうぶん);
  25.  
  26. String ふくごうぶん = いんすたんす.ふくごうかする(あんごうぶん);
  27.  
  28. System.out.println("ふくごうぶん  :" + ふくごうぶん);
  29. }
  30.  
  31. private static class C {
  32. public static final String もじせっと = " 、。ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔゕゖー0123456789";
  33.  
  34. private final Map<Character, Character> あんごうかまっぷ;
  35. private final Map<Character, Character> ふくごうかまっぷ;
  36.  
  37. public C(String あんごうせってい) {
  38. あんごうかまっぷ = new HashMap<>();
  39. ふくごうかまっぷ = new HashMap<>();
  40.  
  41. if (あんごうせってい.length() != もじせっと.length()) throw new IllegalArgumentException();
  42. for (int あい = 0; あい < もじせっと.length(); あい ++) {
  43. あんごうかまっぷ.put(もじせっと.charAt(あい), あんごうせってい.charAt(あい));
  44. ふくごうかまっぷ.put(あんごうせってい.charAt(あい), もじせっと.charAt(あい));
  45. }
  46. }
  47.  
  48. public String あんごうかする(String ひらぶん) {
  49. StringBuilder ばっふぁ = new StringBuilder();
  50. for (char もじ : ひらぶん.toCharArray())
  51. if (あんごうかまっぷ.containsKey(もじ)) ばっふぁ.append(あんごうかまっぷ.get(もじ));
  52. else ばっふぁ.append(もじ);
  53. return ばっふぁ.toString();
  54. }
  55.  
  56. public String ふくごうかする(String あんごうぶん) {
  57. StringBuilder ばっふぁ = new StringBuilder();
  58. for (char もじ : あんごうぶん.toCharArray())
  59. if (ふくごうかまっぷ.containsKey(もじ)) ばっふぁ.append(ふくごうかまっぷ.get(もじ));
  60. else ばっふぁ.append(もじ);
  61. return ばっふぁ.toString();
  62. }
  63. }
  64. }
Success #stdin #stdout 0.07s 380160KB
stdin
Standard input is empty
stdout
あんごうせってい:わぶとぉうぃょがゐべずはしをやなそ4ゖ 0れてぴぷおぎすろぞめぱ6さけゕあるぐゆたみへら9ねぜの8ざゑゔごこついじんせど3げふぅ。えくゅり7かぽだーで1づよまほ、2ゃぼちっゎきもばぬびひむぁぢ5ぇにぺ
ひらぶん    :はろー、わーるど。
あんごうぶん  :ざほばぶ2ばよらと
ふくごうぶん  :はろー、わーるど。