Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用创建的类为对象数组指定随机值_Java_Arrays - Fatal编程技术网

Java 使用创建的类为对象数组指定随机值

Java 使用创建的类为对象数组指定随机值,java,arrays,Java,Arrays,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

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;
}
现在在我的驾驶课上:

我创建了以下内容

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);
}
运行该程序时,我收到以下错误消息:

线程主java.lang.NullPointerException中出现异常

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

很明显,我想停留在我的知识范围内,这是围绕这段代码的复杂性。
谢谢

您只创建了一个示例对象数组,但其中的每个元素都是空的,因为您没有创建任何示例对象实例

引用类型的数组任何类、接口、枚举或数组,基本上都是从每个元素中都有空引用开始的,并且您仍然需要创建要放入数组中的对象

将代码更改为:

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

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

这完全有意义。我没有想到新操作符,因为我把它放在array=newexample[num]之前;我认为由于默认的构造函数,每个对象都初始化为0.0