2

誰か助けてくれませんか?私は Java プログラミングにまったく慣れていないので、アルファベットの代わりに数字で操作 (2 つの数字の一致など) を実行できるように、アルファベットを数字として表す必要があります。B = 2; c = 3;...どうもありがとう

4

3 に答える 3

3
System.out.println((int)'A');

65が返されます(AのASCIIコードは65です)

System.out.println((int)'A' - 64);

数値を 1 にオフセットします。

上記の方法を使用して下位の 'a' も 1 に出力したい場合は、単にCharacter.toUppserCase('a');で大文字に変換します。

于 2012-11-20T18:28:37.870 に答える
2

次のような会話メソッドを作成します。

public class Test {
    public static void main(String[] args) {
        Test t = new Test();

        System.out.println(t.alphabetToNumber('A'));
        System.out.println(t.numberToAlphabet(1));
    }

    public int alphabetToNumber(char a) {
        return a - 64;
    }

    public char numberToAlphabet(int i) {
        return (char) (i + 64);
    }
}
于 2012-11-20T18:30:08.660 に答える
2

あなたがプログラミングに不慣れであることを考えると、ASCII Codeと呼ばれるものがあることを知っておく必要があります。このコードは、どの文字がどのようにエンコードされているかを示します。ご覧のとおり、文字「a」は数字の 97 で表されます。したがって、Java ではこれが

System.out.println((char)(97));

文字「a」を出力します。(char)いわゆるキャストです。つまり、数字の 97 は文字として表示されるように「強制」されています。逆にできること

System.out.println((int)'a');

これにより、文字 'a' が ASCII 数値 97 として表示されます。

したがって、a から z までの文字を 1-26 で表現したい場合は、次のようにする必要があります。

char yourChar = 'z';
int yourCharInt = (int)yourChar - (int)'a' + 1;
于 2012-11-20T18:36:23.313 に答える