-1

这是一些代码:

   private static final char low = 'a';
   private static final char high = 'z';
   private static final int arrayLength = high - low + 1;

我认为 arrayLength 将等于 26,但我不确定。这个对吗?我的第二个问题是'a'和'A'之间的数值差异是多少?当我在 Character 类中使用 getNumericValue() 方法来测试两个字符时:

  String element = "a";
  int x = Character.getNumericValue(element.charAt(0));

我测试了“a”和“A”,两次都得到了 10。所以,总的来说,我对字符的数值感到困惑。请指教。

4

4 回答 4

1

Character.getNumericValue()用于获取数字或符号的值 - 例如,Character.getNumericValue('7')将返回 7。由于a是十六进制数字,此方法返回 的十六进制值a或 10。

对于 Unicode 值a,do(int) 'a'(int) "a".charAt(0). **

(** 这不适用于星光层中的 Unicode 字符,但这种情况很少见。)

于 2013-11-09T21:27:27.223 回答
0
Character.getNumericValue(char);

像这样工作 char 0 to 9 return int 0 to 9 char a (or) A to z (or) Z return 10 to 35. 这意味着Alphanumeric。和 unicode 也包括在内。其他字符值返回 -1。

于 2013-11-09T21:34:09.733 回答
0

您没有费心阅读 getNumericalValue() 的 javaDocA ,所以我将添加链接,并告诉您两者的数值a应该是 10。

于 2013-11-09T21:27:46.907 回答
0

你也可以测试一下 m8

public class Main {

private static final char low = 'a';
private static final char high = 'z';
private static final int arrayLength = high - low + 1;

    public static void main(String [ ] args) {

        System.out.println("a: "+Character.getNumericValue(low));
        System.out.println("z: "+Character.getNumericValue(high));
        System.out.println("The arrayLenght is: "+arrayLength);
   } 
}

控制台输出:

一个:10

z: 35

数组长度为:26

于 2013-11-09T21:30:32.790 回答