82続き

変換処理時におかしくなるという原因はつきとめました。
処理は  値(カナ)を引数として受け取り
           ↓
         (ループ)
     いったん値を一文字づつに分解
           ↓
     分解したものをあらかじめ用意した文字列(全角のすべてのカナ文字)と一個
     づつ比較
           ↓
     全角カナと一致していたらあらかじめ用意した文字列(半角のすべてのカナ文字)
     の全角で調べた現在の位置とおなじ位置の半角カナ文字を、用意した配列にいれる。
↓
     取得した値が半角のままならその文字をそのまま配列に
         (終ループ)
           ↓
     その配列をString型文字列に変換
           ↓
     Beansに渡す

この1文字づつに分解した時点で表示字におかしくなるというのは
つかんだんですが、その理由がわかりません。
長々すいません。どなたかご教授お願いします。