サンプル
public class JapaneseHelper { private static final char SMALL_KATAKANA_A = 'ァ'; private static final char SMALL_HIRAGANA_A = 'ぁ'; private static final char KATAKANA_N = 'ン'; private static final char HIRAGANA_N = 'ん'; public static void main(String[] args) { System.out.println("toKatakana() ***************"); System.out.println(JapaneseHelper.toKatakana( "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん" + " | がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽ" + " | ぁぃぅぇぉゃゅょゎ")); System.out.println(""); System.out.println("toHiragana() ***************"); System.out.println(JapaneseHelper.toHiragana( "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン" + " | ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ" + " | ァィゥェォャュョヮ")); System.out.println(""); System.out.println("コードの仕組み上できない文字 ***************"); System.out.println(toHiragana("ヴヵヶ")); } public static String toKatakana(String targetValue) { StringBuffer returnValue = new StringBuffer(targetValue); for (int i = 0; i < returnValue.length(); i++) { char word = returnValue.charAt(i); if (word >= SMALL_HIRAGANA_A && word <= HIRAGANA_N) { returnValue.setCharAt(i, (char) (word - SMALL_HIRAGANA_A + SMALL_KATAKANA_A)); } } return returnValue.toString(); } public static String toHiragana(String targetValue) { StringBuffer returnValue = new StringBuffer(targetValue); for (int i = 0; i < returnValue.length(); i++) { char word = returnValue.charAt(i); if (word >= SMALL_KATAKANA_A && word <= KATAKANA_N) { returnValue.setCharAt(i, (char) (word - SMALL_KATAKANA_A + SMALL_HIRAGANA_A)); } } return returnValue.toString(); } }
出力結果
toKatakana() *************** アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン | ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ | ァィゥェォャュョヮ toHiragana() *************** あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん | がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽ | ぁぃぅぇぉゃゅょゎ コードの仕組み上できない文字 *************** ヴヵヶ