将字母表示为数字

时间:2012-11-20 18:19:49

标签: java

有人可以帮忙吗?我是Java编程的新手,我需要将字母表示为数字,以便我可以使用数字而不是alphabets.E.g执行操作(如匹配两个数字)。 A = 1; B = 2; c = 3; ...非常感谢

3 个答案:

答案 0 :(得分:3)

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

会给你65(A的ascii代码是65)

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

会将数字偏移到1。

如果您希望使用上述方法将较低的'a'打印为1,只需使用Character.toUppserCase('a')将其转换为大写;

答案 1 :(得分: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);
    }
}

答案 2 :(得分:2)

考虑到你是编程新手,你必须知道有一些名为ASCII Code的东西。此代码描述了编码的字符。你可以看到charachter'a'用数字97表示。所以在Java中这个

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

会打印字符'a'。 (char)是所谓的演员。这意味着数字97被“强制”显示为一个字符。反之亦然

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

这会强制字符'a'显示为其ASCII数值97。

因此,如果你想用1-2表示a到z的字符,你必须这样做:

char yourChar = 'z';
int yourCharInt = (int)yourChar - (int)'a' + 1;