gpt4 book ai didi

java - 使用创建的类将随机值分配给对象数组

转载 作者:行者123 更新时间:2023-12-02 09:47:57 27 4
gpt4 key购买 nike

情况(java中的新功能):

我想将随机值存储到我创建的类的对象数组中。我创建了以下类:

private double color;
private double size;

// default constructor
public Example() {
color = 0.0;
size = 0.0;
}

// second constructor taking two arguments
public Example(double color, size imaginary){
this.color=color;
this.size=size;
}
// mutators
public void setColor(double c){
color=c;
}
public void setSize(double s){
size=s;
}

现在在我的驱动程序类(class)中:

我创建了以下内容

import java.lang.Math;

int num = 4;
Example[] array;
array = new Example[num];

for(int i=0;i<num-2;i++)
{
randomColor = Math.random();
randomSize = Math.random();
array[i].setColor(randomColor);
array[i].setSize(randomSie);
}

当我运行该程序时,我收到以下错误消息:

Exception in thread "main" java.lang.NullPointerException

我假设数组每个元素的内容为空。但这是为什么呢?我如何使上述逻辑起作用?

显然,我想留在我的知识范围内,即这段代码的复杂性。谢谢

最佳答案

您仅创建了 Example 的数组对象,但它的每个元素都是 null因为您还没有创建任何 Example对象实例。

“引用类型”数组(基本上是 classinterfaceenum 或数组)以 null 开始。每个元素中的引用,并且您仍然需要创建要放入数组中的对象。

将代码更改为:

array[i] = new Example(randomColor, randomSize);

这将创建新的Example对象,并将随机值分配给其属性。

关于java - 使用创建的类将随机值分配给对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56519905/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com