2013-04-05 53 views
-2

有人可以解釋這行代碼的作用嗎?爲什麼要減去'a'

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

爲什麼是 - 'a'?我不明白

+0

當您在調試器中運行它時,它會做什麼? – KevinDTimm 2013-04-05 16:45:50

回答

1
int index = s.charAt(k) - 'a'; 

在Java中的char可以鑄造爲int。每個字符都有一些int值,但'a'爲0且'b'爲1並不是真的。這些值是不同的(基於ASCII表中的位置)。

要讓'a'爲0,'b'爲1等,您需要從給定的字符中減去'a'。

這就是這條線所做的。

+0

感謝您的解釋 – ciastkoo 2013-04-05 16:41:45

7

它轉換'a'0'b'1'c'2等等...

相關問題