优秀的手机游戏下载!
首页 索引超出了数组界限

索引超出了数组界限

发布时间:2024-09-17 10:49:14 编辑:手游哥 浏览:158

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次是抛出了数据越界的错误:java.…
查看详情
1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。 2、第11次是抛出了数据越界的错误:java.…
查看详情
1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。 2、第11次是抛出了数据越界的错误:java.…
查看详情
相关资讯
猜你喜欢