java - 代码执行后数组的值

标签 java arrays

我必须用执行以下代码后将存储的值填充数组:

int[] list = {2, 18, 6, -4, 5, 1};
for (int i = 0; i < list.length; i++) {
    list[i] = list[i] + (list[i] / list[0]);
}

对于 list[0] 我得到的值是 3,这是正确的。 对于 list[1] 我得到的值是 27,这是错误的。 对于 list[2] 我得到 9,这也是错误的。

有人可以告诉我我做错了什么吗?数组的长度是6,对吧?

最佳答案

list [0] = list[0] + (list[0]/list[0]) = 2 + 2/2 = 3
list [1] = list[1] + (list[1]/list[0]) = 18 + 18/3 = 24
list [2] = list[2] + (list[2]/list[0]) = 6 + 6/3 = 8
list [3] = list[3] + (list[3]/list[0]) = -4 - 4/3 = -5
list [4] = list[4] + (list[4]/list[0]) = 5 + 5/3 = 6
list [5] = list[5] + (list[5]/list[0]) = 1 + 1/3 = 1

您忘记了 list[0] 在第一次迭代中从 2 更改为 3,这会影响所有后续迭代的结果。

关于java - 代码执行后数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48058176/

相关文章:

python - 如何按日志文件的信息对日志文件进行排序?

java - 如何从一组日期中减去一个日期?

java - 从 Google 服务帐户创建文件权限时获取 "You can not share this item because it has been flagged as inappropriate"

java - 如何在其他 Activity 中编辑同一对象

javascript - 如何更新特定输入字段的值而不是 td 第一个子字段的值?

使用指针创建二维数组

java - 使用未初始化的变量时会发生什么类型的错误?

java - 运行简单的 JSF 时出现异常?

arrays - 如何使用 Apache Wicket 处理单个表单上的多个模型实例?

javascript - 根据具有特定长度的现有字符串获取新字符串