java数组为空崩溃

java数组为空崩溃,第1张

java数组为空崩溃

我有一个对象数组-本质上是一个对象引用数组。在我所引用的类中,还有另一个引用。我需要初始化此数据结构,但在初始化期间会崩溃。我正在尝试在引用的类中初始化引用,但是它始终为null,因此有些Java“东闭拆西”我还不了解。这似乎很简单,但却令人沮丧。这是一个简单的问困镇题示例:

public class ref1

{

public int myInt

}

public class ref2

{

public ref1 myRef

}

public ref2 buffer[]

int i

// Code to initialize the above data structures:

buffer = new ref2[255]

for (i=0i<255i++)

{

buffer[i] = new ref2()

buffer[i].myRef = new ref1() // (1) ALWAYS returns null????

}

最终,上面的代码将在我具有(1)标记的行上崩溃,并带有“ ArrayOutOfBoundsException”。我在调试器中注意到的第二件事是myRef始终设置为null。为什么无法创建和引轿尺枣用ref1对象?

如果我注释掉标有(1)的行,则没有异常陷阱,因此问题就在那里。

程序的输入语句存在错误:

scanf("%d", a[i])

这句代码应该是&a[i],a[i]前需要加上&符号。

除此之外,程序还存在一些可以优化的点:

该毁孝程序没有用到std命名空间的相关对象,最好去掉using namespace std这句。

如果n大于1000,那么纤颤稿a也会数组越界,需洞毕要注意a数组的大小取值,根据题目设置。

输出语句末尾最好加上换行符,这样运行结果的可读性会好一些。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存