Newer
Older
osmCoverage / src / osm / jp / api / KatakanaToHiragana.java
@yuu yuu on 20 Mar 2017 1 KB Nagoya busstop to OSM file.
package osm.jp.api;

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