gpt4 book ai didi

java - for 循环中的循环困惑,初始值为零及其条件

转载 作者:行者123 更新时间:2023-12-01 14:35:51 25 4
gpt4 key购买 nike

在此程序中,我对 for 循环如何在 InsertItem() 方法中的 List 类中执行感到困惑。

public class List {
int[] a;
int lastItem;
public List() {
a = new int[10];
lastItem = -1;
}
public void InsertItem(int newItem, int location) {
int i;
for (i = lastItem; i >= location; i--) {
a[i + 1] = a[i];
}
a[location] = newItem;
lastItem++;
}

我的困惑:在 InsertItem 方法的 for 循环中,lastItem 被初始化为 -1。假设位置为 1,如果 i 小于 0,循环将如何执行!

我正在为这个问题抓狂。

最佳答案

仅当用户为变量 location< 输入小于或等于 -1 的值时,for 循环才会执行/.

但是为 location 指定负值将导致 a[location] = newItem; & a[i + 1] = a[i ]; 因为您将超出数组 a[] 的边界。

如果您的目标是用值填充数组,则函数循环逻辑就会被破坏。

我建议将循环反转为递增而不是递减,并将 lastItem 初始化为 0,这样您就可以使此代码有效且不会出现错误。

关于java - for 循环中的循环困惑,初始值为零及其条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16494211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com