0
public static String convertPNumber(String p) {
    String b;
    for (int i = 0; i < p.length(); i++) {
        char a = p.charAt(i);
        if (!Character.isDigit(a)) {
            if (a == 'A' || a == 'B' || a == 'C') {
                b = "2";
            }
        } else {
            b = a;
        }
    }
    return b;
}

public static void main(String args[]) {
    convertPNumber("AB2");
}

文字が数字の場合は数字を出力したいのですが、メソッドがpublic static Stringなのでb=a;の場合はStringが必要とのことです。そしてcharを見つけました。

4

2 に答える 2

3

bのタイプですStringaのタイプですcharcharなどのプリミティブをに割り当てることはできませんString

あなたができるCharacter.toString(char value)ことは、代わりに使用することです:

b = Character.toString(a);

また、プログラムにいくつかの欠陥があることに気付きました...しかし、主要なロジックの問題は修正しておいてください。

上記の問題を修正しようとすると、forステートメントが実行されない可能性があるため、変数bが初期化されない可能性があります。bに初期化することでこれを修正できますnull

あなたの論理は異常です - あなたはあなたの の最後の文字にしか注意を払いStringません. 私はあなたのためにそれを指摘するだろうと考えました.

于 2013-10-03T03:45:28.607 に答える