索引超出了数组界限

发布时间:2024-09-17 10:49:14 来源:君肯网

1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。

2、第11次是抛出了数据越界的错误:java.lang.ArrayIndexOutOfBoundsException。

3、将程序修改一下,保证程序不会非法的运行到第11次,获取数组的长度Array.length当我们从数组取数时控制在这个长度范围内进行。

4、通过修改,程序得到正确执行。

在php中,数组的索引超过数组的界限是什么原因?

1、在test.php文件内,使用header设置test.php执行的编码为utf8,避免输出中文的时候出现乱码。

2、在test.php文件内,创建一个测试的数组,例如,定义一个分类的数组,其对应的索引值分别为0,4,8。

3、在test.php文件内,使用array_values()方法将上一步的数据重新排序,并且从0开始,把重新排序的数组保存在$result变量中。

4、在test.php文件内,使用foreach方法遍历数组,其中$k为索引值,$v为索引值对应的数组值。

5、在test.php文件内,使用echo方法输出数组中的索引值和对应的数组值即可。

索引超出了数组界限解决方法:

a.connected[i] = vertices[i+1]

称之为索引i+1。这将导致一个index out of bounds exception。(在你n等于19的例子中:有效索引将是[0-18]。

你的循环将从0-18开始,但是在该行中,它将会添加一个18 + 1 = 19,这是一个无效索引)在你的循环中将条件更改为:

for (int i = 0i&ltn-1i+=2){

确保它在添加之后不会超出界限。

Vertex [] vertices = new Vertex[n]int [] numbers = new int[n*2]AdjacencyList[] all = new AdjacencyList [n+1]for (Vertex v : vertices){

索引超出了数组界限

System.out.println(v.value)

AdjacencyList a = new AdjacencyList(v)

for (int i = 0i &ltni += 2)

{

if (numbers[i] == v.value){

a.connected[i] = vertices[i+1]//array index out of bounds exception:19

else { a.connected[i] = v}

}

all[0] = a//add the finished adjacency list to the array

}

与n = 19我可以得到一个索引超出边界错误在代码中指出的点。我不确定我哪里会出问题,因为一切都还在19的范围内。

顶点=顶点列表[1-19],数字是一个平坦的边缘数组。

以上就是关于索引超出了数组界限全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。 2、第11次是抛出了数据越…
查看详情
1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。 2、第11次是抛出了数据越…
查看详情
1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。 2、第11次是抛出了数据越…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载