**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
16天前关门了。
改进这个问题
String[] c;
c = new String[length];
线路 String[] c;
实际上是以前写的,它是类内部的公共变量。已声明变量长度 int
和定义的运行时。它保存0到短正整数之间的值。
调试器在执行该行时显示“c[i]=array reference expected”,然后在执行该行后显示“java.lang.indexoutofboundsexception:无效数组范围:4到4”。最后,一个例外 .getMessage()
等于“长度=4;抛出索引=4“。
我试着定义另一个 String[i]
然后把它复制到原件上,但什么都没变。另外,我尝试过一个元素一个元素地定义c,但实际上没有给出它的长度,但是当然会抛出错误“尝试写入空数组”。
这个运行时定义有什么问题?事先谢谢!
2条答案
按热度按时间ssgvzors1#
根据概念,对于单个数组元素的内存分配,索引从0开始。
所以在这里你可以遍历数组的元素到长度-1。
krugob8w2#
“长度=4;index=4“如果将长度定义为b4,则只有索引0到3。4个元素,因此您无法访问索引4,该元素的长度必须为5。