• ベストアンサー

javaで入力したの半角カタカナを全角に変換したい

仕事のため、javaで入力したの半角カタカナを全角に変換しなければならないですが、ご存知の方是非教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • osumitan
  • ベストアンサー率33% (102/307)
回答No.4

1.配列とかで半角カナと全角カナの対応表を作っておく。   単独の表と、濁点(半濁点)付きの表とを分けて作っておく。 2.変換対象の文字列をcharAt()で1文字ずつループで回していく。 3.1文字を取り出したら、まずその次の文字を見る。 4.その次が濁点か半濁点なら、濁点の表と照らし合わせる。   マッチするものがあればそれを拾い、ループを2文字分進める。 5.濁点の表にマッチしないか、次が濁点でない場合は   単独の表示照らし合わせ、ループを1文字分進める。 …というやりかたでどうでしょうか?

tigasaki
質問者

お礼

ありがとうございました。参考になりました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

ここはどうですか。

参考URL:
http://www.eonet.ne.jp/~kaizokurufi/java/jp0032/JpnStringConv.html
tigasaki
質問者

お礼

ありがとうございました。参考になりました。

すると、全ての回答が全文表示されます。
回答No.2

実際に組んでないのですが、こんなのはどうでしょ? 1. とりあえずバカちょんで変換 (半角の濁点→全角の濁点、半角の半濁点→全角の半濁点) 2. バカちょんで変換された文字列から ”か”+”全角の濁点” を探し、(indexOfメソッド)あったら ”が” に置換する。 3. 2.の処理をindexOfメソッドからの戻りが-1になるまでやる。 4. 2.と3.の処理を ”き”+”全角の濁点” ”く”+省略 …省略 ”は”+”全角の半濁点” と繰り返す。 なんか効率悪そうですね…(^^;A

tigasaki
質問者

お礼

ありがとうございました。参考になりました。

すると、全ての回答が全文表示されます。
回答No.1

HashMapに詰め込んでおくとか。 -------------------------------------------------- HashMap hogemap; private void init(){ hogemap = new HashMap(); hogemap.put("半角のア","全角のア"); …省略… } public String convert(String key){ return (String)hogemap.get(key); } -------------------------------------------------- みたいな感じで。 (半角カタカナを入れると全角カタカナに変換されちゃうので、"半角のア"、"全角のア"と記述してます。) ただ濁音と半濁音のことは考慮してないので、別途考えないといけないと思いますが…。 他にも検索すればもっといいのがありそうですね。

tigasaki
質問者

お礼

ありがとうございました。参考になりました。

tigasaki
質問者

補足

ご回答をありがとうございました。 今困っているの部分はここです。 ’゛’のような濁音半濁音については、 バ→バと結合する。 結合できないときは、全角の(半)濁音をそのまま出力すること。 例:ア゛(アに濁点) → “ア゛”

すると、全ての回答が全文表示されます。

関連するQ&A