1

よし、化学ゲーム/プロジェクトのメソッドを作成したい:

  • 文字列を取る
  • 次に、文字列を取得し、数字をチェックし、数字がある場合は、それを同じ数字の添字に変換します。
  • 更新された文字列を返します

私の最初の考えは、文字列をchar配列に変換してから、Integer.parseInt(Character.toString(char array element))を試すforループを作成し、NumberFormatExceptionをスローした場合、forループを続行することでした。エラーが発生しなかった場合は、その番号を保持し、それを 2080 に追加して (\u2080 -> \u2089 は添え字の Unicode であるため)、何らかの方法でその番号を char に戻します。

そのためのコードを書き込もうとしましたが、続行する方法がわかりませんでした。

private String processName(String original)
    {
        char[] or = original.toCharArray();

        int returned = 0;

        for(char character : or)
        {
            try
            {
                returned = Integer.parseInt(Character.toString(character));
            }

            catch (Exception e)
            {
                continue;
            }

            if(returned != 0)
            {
                returned += 2080;

                String temp = "\\u" + returned;

                //gave up here
            }
        }

    }
4

1 に答える 1

1

あなたはほとんどそこにいます。scharは 2 バイトであるため、必要な値を保持できることに注意してください。

for(int i = 0; i < or.length; i++)
{
    try
    {
        returned = Integer.parseInt(Character.toString(or[i]));
    }

    catch (Exception e)
    {
        continue;
    }

    if(returned != 0)
    {
        or[i] = (char) (returned + 2080);
    }
}

intが数字であるかどうかを確認し、数字である場合は適切な量を追加するだけで、 に変換するコストの一部を取り除くことができますcharが、このコードは既に機能しているため、それはあなたに任せます。

于 2013-05-08T23:57:18.450 に答える