• ベストアンサー

半角カタカナをローマ字変換するクラスを作りたい

みなさん初めまして<(__)> javaの左も右も分からない超初心者です。 (と言うかプログラム初心者です) 半角カタカナをローマ字に変換するクラスを作りたいと思っています。 ただ、濁点や半濁点、『ピュ』等の変換を考えると 頭が混乱して訳が分からない状況です。 どなたかご教授頂けないでしょうか。 よろしくお願い致します。

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

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.4

>それは悪意のあるプログラムなんかが出回るのを防ぐ為に 違うよ。質問者の為にならないから。 http://faq.okwave.jp/EokpControl?&tid=607824&event=FE0006 >「PI」と「YU」を「PYU」にするには No1にも書いたけれど「1文字」じゃなくて多数の文字から探索すべきじゃないかな。 http://www.google.com/search?lr=lang_ja&q=java%20%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%20%E7%BD%AE%E6%8F%9B これは一例だけれど「文字『列』」検査をしようね って話。

texas1go
質問者

お礼

なるほど、何となく光が見えてきました。 頑張ってやってみます。 ありがとうございました。

その他の回答 (3)

回答No.3

PI+YU・・・ピュ PI+YA・・・ピャ 変換時にIを除去するとか・・・ あとは個別にマッピングを追加するとかですかね。

回答No.2

50音+濁音のマッピング表を作成して入力された文字1文字1文字に対してローマ字のマッピング表から探したワードを割り当てるような処理になるのではないでしょうか。 とりあえず右も左も判らない、状態だと結構難しいと思います。 とりあえずソースコードを書いてみて、そのうえでどこがわからないかを質問するのがよいかと思います。 (コンパイルの仕方がわからないとかJavaの動かし方が判らないってことはないですよね?)

texas1go
質問者

お礼

回答ありがとうございます。 マッピング表を作ってやってみたのですが やっぱり「ピュ」の変換がうまくいかないんですよね。 まあ、このクラスの用途は従業員の人名の変換が目的なので 外国の方でなければまず「ピュ」は出てこないんでしょうが(^^;A

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

一番長い文字列から探索すれば良いんじゃない? 質問者も言っている濁点+拗音系 一番面倒なのが「っ」だけど似たような物だね。 まず人間が手で変換する場合の手順を書き出ししてごらん。 整理できないだろうから思いつくものをまず全部ね。 そこから似たようなのを統合して纏まった手順を作ってそれをjava化したら良いんじゃないかな。 因みにソースは、約束なので書いてあげられない。

texas1go
質問者

お礼

回答ありがとうございます。 >因みにソースは、約束なので書いてあげられない。 そうなんですか。 それは悪意のあるプログラムなんかが出回るのを防ぐ為に そういうルールになっているのでしょうか。。。 濁点や「っ」の変換はうまくいったのですが 『ピュ』の変換のアイデアが浮かびません。 「PI」と「YU」を「PYU」にするにはどういうロジックにしたらよいでしょうか? 質問続きで申し訳ありませんが、よろしくお願いします。