gpt4 book ai didi

java - Java 数组是如何处理的?

转载 作者:行者123 更新时间:2023-12-01 06:39:43 25 4
gpt4 key购买 nike

首先,总结一下:我正在 CodingBat.com 上解决一些基本问题(对于初学者或像我这样生疏的人来说是好东西),并决定以"new"方式循环遍历数组。

我说我“生锈了”。

这有效:

public int arrayCount9(int[] nums) {
int b=0;
for(int i=0; i<nums.length;i++){
if(nums[i]==9) b++;
}
return b;
}

这不起作用:

public int arrayCount9(int[] nums) {
int b=0;
for(int i: nums){
if(nums[i]==9) b++;
}
return b;
}

错误:异常:java.lang.ArrayIndexOutOfBoundsException:9(行号:4)

*所以问题是 if(nums[i]==9) b++; *

所以我的问题是:

1) *问题是什么?*

2) *有人有规范引用吗?*

关于#2,我尝试过谷歌搜索,但没有找到我要找的东西,即使有了教程,我也无法完全掌握其背后的巫术。

我先谢谢你了。

编辑link to problem in question

最佳答案

您使用迭代值作为索引。应该是:

for(int i: nums){
if(i==9) b++;
}

因此,如果数组中的值大于数组大小,则会出现索引越界异常。

关于java - Java 数组是如何处理的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15796326/

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