for (int i = 0; i < s.length(); ++i)
{
if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z')
{
++array[s.charAt(i) - 'A'];
}
}
我理解For循环。s.length()的长度为26,准确地说是int[26]。因此该循环将发生26次,即0-25。如果i处的Char在A-Z之间或恰好等于这些字符之一,则会继续执行++array[s.charAt(i) - 'A'];
。从我看到的情况来看,它每次循环都会添加一次数组,或者每次循环都会给char i的String添加一次数组值,因此第一个值为0,第二个值为2,因为数组从0开始。因此,在位置i-'A'
添加一个数组就让我感到困惑。