我很难弄清楚我的输出没有做正确的事情。这是我为写的一段代码
final int SCORES_SIZE = 4;
int[] bonusScores = new int[SCORES_SIZE];
int i;
for (i = 0; i < bonusScores.length; ++i) {
bonusScores[i] = scnr.nextInt();
}
for (i = 0; i < 3; ++i) {
bonusScores[i] = bonusScores[i+1];
}
for (i = 0; i < bonusScores.length; ++i) {
System.out.print(bonusScores[i] + " ");
}
System.out.println();
}
}
现在我得到的输出是|20 30 40 40|,而不是|30 50 70 40|。我在第二个for循环中遇到了错误,但我不知道如何纠正。
您的循环
for (i = 0; i < 3; ++i) {
bonusScores[i] = bonusScores[i+1];
}
正是按照你的指示去做:将第二个元素复制到第一个元素上,将第三个元素复制在第二个上,等等。因此[10,20,30,40]变成[20,20,30,40]。
根据您对预期输出的描述,我猜您是想使用+=
而不是=
。
可能为时已晚,但这就是我的代码:
for (i = 0; i < 3; ++i)
{
bonusScores[i] = bonusScores[i] + bonusScores[i+1];
}
我添加了bonusScores[I]=bonusScores[I]+bonusScore[I+1]
或者只添加+=