java - 使用其他元素修改数组元素
问题描述
我无法确定我的输出没有做正确的事情。这是我写的一段代码
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]。
我猜你的意思是做+=
而不是=
你对预期输出的描述。
推荐阅读
- spring-boot - Springboot在api调用中返回对象,get方法失败导致日期和时间?
- android - 为什么即使关闭所有打开的项目,Android Studio 仍会继续使用大量内存?
- aws-lambda - AWS Lambda API 网关超时
- jquery - 我们如何检测浏览器后退按钮的点击(对于任何类型的浏览器)?
- python - 从每个客户 id 中识别零值,然后从上一行下一列 pandas 中获取值
- flutter - Flutter setState 没有正确刷新页面
- python - GridSearch 中的管道重复次数超出预期
- angular - 测试角度组件:如何在 Jasmine 中使用 expect(method).toHaveBeenCalledWith(p) 测试异步方法调用之后的方法调用
- python - Python:为什么值总是返回0
- video-streaming - M3U8 文件无法播放