sách gpt4 ai đã đi

Tại sao giá trị '0' vẫn còn trong danh sách mặc dù mã đã xóa chúng?

In lại 作者:行者123 更新时间:2023-12-01 19:44:22 37 4
mua khóa gpt4 Nike

我正在研究计算机科学 A 考试的样题,但无法弄清楚为什么以下问题的正确答案是正确的。

考虑以下方法。

public static void mystery(List nums)
{
for (int k = 0; k < nums.size(); k++)
{
if (nums.get(k).intValue() == 0)
{
nums.remove(k);
}
}
}

假设列表值最初包含以下整数值。[0, 0, 4, 2, 5, 0, 3, 0]执行 Mystery(values) 后,values 会包含什么内容?

显示的正确答案是:[0, 4, 2, 5, 3]

为什么前 0 个仍保留在列表中?

1 Câu trả lời

第一个 0 保留下来,因为那实际上是 nums 中的第二个 0.

khik0时,测试成功并调用remove(0),删除第一个索引。这会将所有其他元素下移,因此列表现在为 [0, 4, 2, 5, 0, 3, 0]。但随后 k 会递增到 1,因此第二个 0(现在位于索引 0)会被跳过,而不是已删除。

khác 0 值已成功删除,就像第一个 0 已成功删除一样。此代码仅跳过两个连续 0 值中的第二。假设代码应该删除tất cả 0 值,这将是一个错误。

关于java - 尽管代码删除了 "0"值,但为什么列表中仍保留 "0"值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54028327/

37 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com