有人可以解释这行代码的作用吗?为什么要减去'a'
for(k=0; k < limit; k++)
{
int index = s.charAt(k) - 'a'; <---> THIS LINE
}
t.myIsWord = true;
为什么是 - 'a'?我不明白
有人可以解释这行代码的作用吗?为什么要减去'a'
for(k=0; k < limit; k++)
{
int index = s.charAt(k) - 'a'; <---> THIS LINE
}
t.myIsWord = true;
为什么是 - 'a'?我不明白
int index = s.charAt(k) - 'a';
在Java中的char可以铸造为int。每个字符都有一些int值,但'a'为0且'b'为1并不是真的。这些值是不同的(基于ASCII表中的位置)。
要让'a'为0,'b'为1等,您需要从给定的字符中减去'a'。
这就是这条线所做的。
感谢您的解释 – ciastkoo 2013-04-05 16:41:45
它转换'a'
到0
,'b'
到1
,'c'
到2
等等...
当您在调试器中运行它时,它会做什么? – KevinDTimm 2013-04-05 16:45:50