-2

有人可以解释这行代码的作用吗?

for(k=0; k < limit; k++)
{
    int index = s.charAt(k) - 'a';     <---> THIS LINE
}
t.myIsWord = true;

为什么是-'a'?我不明白

4

2 回答 2

7

它转换'a'0, 'b'to 1, 'c'to2等等...

于 2013-04-05T16:17:44.320 回答
1
int index = s.charAt(k) - 'a';

在 Java 中,char 可以转换为 int。每个字符都有一些 int 值,但 'a' 为 0 而 'b' 为 1 是不正确的。这些值是不同的(基于 ASCII 表中的位置)。

要将“a”设为 0,将“b”设为 1,等等,您需要从给定字符中减去“a”。

这就是这条线的作用。

于 2013-04-05T16:22:53.850 回答