索引超出数组界限怎么处理?

索引超出数组界限怎么处理?,第1张

索引超出数组界限,一个是判断一下循环语句中的循环上限是否派清蚂出错,再一个就是直接更改数组大小。

索引超出了数组界限"并不是说索引有多长,而是说这个索引在数组的界限当中找不到,可以适当增大数组的大小,使得下面用到的索引尘埋能够处在数组的正神界限中。当然数组不是越大越好,盲目增大数组大小势必会加大内存的开销,响应速度会变慢。

还有一种方法就是使用变量来动态控制数组大小,事先定义一个变量,通过用户的输入来决定这个数组到底有多大,这样避免了内存空间的浪费或者索引超出数组界限的情况出现。另外,由用户来决定数组大小也是要事先设定好上限的,否则用户恶意开销数组空间必然会导致死机。

通常就是定义一个常量,这样将来的程序的可读性好、并且可移植性也好,以 C 语言为例,可以如下定义:#define MAX 30 /* 定义一个元素个数为 30 的常量,将来如果元素个数需要增减、或者减少,都可以根据具体需要修改这一处,而程序中其他所有涉及到的 MAX 都自动修改成新的数值,程序的可移植性好。

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

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

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12569656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存