有人可以解釋這行代碼的作用嗎?爲什麼要減去'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