- 554 名前:デフォルトの名無しさん [2008/02/02(土) 00:50:16 ]
- 質問です。ロジックの問題なのですがお願いします。
「名前クラス」はString型の変数kanaとspellを持っています。 @kanaに「けんじ」と入っている場合、spellには「kennji」と入っています。 Akanaに「きんや」と入っている場合、spellには「kinnya」と入っています。 Bkanaに「こんにゃく」と入っている場合、spellには「konnnyaku」と入っています。 ローマ字入力の方式は複数あり、 たとえば「ん」の入力の時に次の文字が子音で始まる場合、 「n」の入力を一回で済ましてしまう方法があります。 「けんじ」の場合、spellに「kenji」と入力する方法です。 この二つの方法に対応するようにspellの内容を入れ替えるメソッドを作りなさい。 以上が問題なのですが、まずkennjiをkenjiにするためのロジックを考えてみました。 Stringクラスのreplaceを使って、 public void change() { spell = spell.replace("nn","n"); } とすると、「ん」の次の文字が母音の場合とYの場合におかしくなってしまいます。 「kinnya」が「kinya」になってしまいます。(「きんや」が「きにゃ」になってしまう) 逆に戻すメソッド(kennjiをkenjiにする)も考えようとするとまったく思いつきません。 どなたかいい方法をお教えください。
|

|