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

回答編集履歴

2

全角数字の変換を追加

2020/03/30 14:48

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -32,4 +32,10 @@
32
32
  }
33
33
  }
34
34
 
35
- ```
35
+ ```
36
+ **追記**
37
+ 全角数字の変換が抜けていました。
38
+ if (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z') {
39
+
40
+ if (c>='A' && c<='Z' || c>='a' && c<='z' || c>='0' && c<='9') {
41
+ に修正してください。

1

import と k の削除

2020/03/30 14:48

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -1,23 +1,21 @@
1
1
  作ってみました。
2
2
  ```
3
- import java.util.*;
4
-
5
3
  class HanZen {
6
4
  final static char[] ktab =
7
5
  ("ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテト" +
8
- "ナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン").toCharArray();
6
+ "ナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン").toCharArray();
9
7
  final static char[] ptab =
10
8
  ("................111111111111111.....22222...............").toCharArray();
11
9
 
12
10
  public static String conv(String s) {
13
- int n = s.length(), j = 0, k;
11
+ int n = s.length(), j = 0;
14
12
  char p = 0, t[] = new char[n];
15
13
  for (int i = 0; i < n; i++) {
16
14
  char c = s.charAt(i);
17
15
  if (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z') {
18
16
  t[j++] = (char)(c - ('A' - 'A')); p = 0;
19
17
  }
20
- else if (c >= 'ヲ' && c <= 'ン') { k = c-'ヲ'; t[j++] = ktab[k]; p = ptab[k]; }
18
+ else if (c >= 'ヲ' && c <= 'ン') { t[j++] = ktab[c-'ヲ']; p = ptab[c-'ヲ']; }
21
19
  else if (c == '゙' && p >= '1') { t[--j] = (char)(t[j++] + 1); p = 0; }
22
20
  else if (c == '゚' && p == '2') { t[--j] = (char)(t[j++] + 2); p = 0; }
23
21
  else { t[j++] = c; p = 0; }
@@ -33,4 +31,5 @@
33
31
  System.out.println(HanZen.conv(s));
34
32
  }
35
33
  }
34
+
36
35
  ```