【发布时间】:2015-11-13 05:46:29
【问题描述】:
谁能解释这段代码的输出?我一直很难理解,但我就是不明白。
public static void main(String ars[]) {
int responses[] = {1,2,4,4};
int freq[] = new int[5];
for(int answer = 1; answer < responses.length; answer++) {
++freq[responses[answer]];
}
for (int rating = 1; rating < freq.length; rating++)
System.out.printf("%6d%10d\n", rating, freq[rating]);
}
输出
1 0
2 1
3 0
4 2
【问题讨论】:
-
你可能想在你的第一个循环中打印出 freq 的所有值,看看会发生什么
-
您的问题标题可能暴露了您混淆的本质:预增量运算符不适用于数组,并且您提供的代码没有显示预增量数组。相反,预增量运算符适用于数组元素,即
freq[responses[answer]]. -
另请注意,Java 数组从 0 开始索引,但您的
for循环忽略每个数组的元素 0。
标签: java arrays post-increment