我一直致力于一些数组示例。一路上取得了一些成功。我几天来一直在研究这段代码,并且无法理解循环体中这种增量的目的。它通常是因为当它被隔离但这次我不知道它是做什么的。
计算1到10之间整数的出现次数
Scanner input = new Scanner(System.in);
int[] count = new int[10];
System.out.println("Enter the integers between 1 and 10: ");
// Read all numbers
// 2 5 6 5 4 3 9 7 2 0
for (int i = 0; i < count.length; i++)
{
int number = input.nextInt();
count[number]++; //this is the one that perplexes me the most
}
//Display result
for (int i = 0; i < 10; i++)
{
if (count[i] > 0)
{
System.out.println(i + " occurs " + count[i]
+ ((count[i] == 1) ? " time" : " times"));
}
}
答案 0 :(得分:1)
count[number]++; //this is the one that perplexes me the most
它会增加索引count
处数组number
中的值。也许,拆分它可能有助于理解:
int tmp = count[number];
tmp = tmp + 1;
count[number] = tmp;
即。在执行语句count[number]
之后,count[number]++;
的值将增加。
还有关于后增量如何运作的说明。
如果用作:
int value = count[number]++;
然后value
将在count[number]
处具有旧值,并且在执行语句之后将完成增量。