String s = "abcdeffa"
char[] input1 = s.toCharArray();
int[] freq = new int[10];
for (int i = 0; i < input1.length; i++)
freq[input1[i]]++;
我不理解freq[input[i]]++;
部分。 freq是一个int [],但它如何在freq []数组中存储chari。
任何人都可以解释freq[input1[i]]++;
的工作原理吗?
感谢
答案 0 :(得分:0)
此代码应该提供一个超出范围的异常,因为input[i]
返回字符代码。因此freq[input[0]]
freq[97]
('a'
的ASCII代码为97)超出界限,因为您的数组只能占用10个元素。
答案 1 :(得分:0)
我认为你会发现ArrayIndexOutBound Exception。因为它会将相应的char转换为ASCII值,但是你的数组大小只有10,所以它会给你ArrayIndexOutBound异常。