Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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_Object - Fatal编程技术网

Java 使用数组在类中创建对象

Java 使用数组在类中创建对象,java,arrays,object,Java,Arrays,Object,我从事件eventStuff1、2和3=新事件中更改转换为以下格式。我在事件类中没有做任何更改,所以我认为这不是问题所在。我在这里的目的是通过使用数组简化代码。这是我第一次研究阵列,我不确定到底出了什么问题。在座右铭被调用(即eventStuff[x])之后,我不断得到一个“NullPointerException”。在我看来,在第一次运行中,x=0,第二次运行,x=1,第三次运行,x=2。我做错了什么 package chapter.pkg8; import javax.swing.JOpt

我从
事件eventStuff
1、2和3
=新事件中更改转换为以下格式。我在事件类中没有做任何更改,所以我认为这不是问题所在。我在这里的目的是通过使用数组简化代码。这是我第一次研究阵列,我不确定到底出了什么问题。在座右铭被调用(即eventStuff[x])之后,我不断得到一个“NullPointerException”。在我看来,在第一次运行中,x=0,第二次运行,x=1,第三次运行,x=2。我做错了什么

package chapter.pkg8;

import javax.swing.JOptionPane;
public class EventDemo{
    public static void main(String[] args){
        callMotto();
        Event[] eventStuff = new Event[3];
        for(int x = 0; x < 3; ++x){
            eventStuff[x].setEventCodeString();
            eventStuff[x].setGuests();
            eventStuff[x].setContactNumber();
            eventStuff[x].setEventStr();
        }
    }

    public static void callMotto(){
        JOptionPane.showMessageDialog(null,
        "*******************************************************\n"
        +   "* Carly's Makes The Food That Makes The Party! *\n"
        +   "*******************************************************");
    }

}
package chapter.pkg8;
导入javax.swing.JOptionPane;
公共类事件演示{
公共静态void main(字符串[]args){
调用座右铭();
Event[]eventStuff=新事件[3];
对于(int x=0;x<3;++x){
eventStuff[x].setEventCodeString();
eventStuff[x].setGuests();
eventStuff[x].setContactNumber();
eventStuff[x].setEventStr();
}
}
公共静态void callmonit(){
JOptionPane.showMessageDialog(null,
“**************************************************************************\n”
+“*Carly's制作的食物是聚会的基础!*\n”
+   "*******************************************************");
}
}
您应该首先初始化该值:

eventStuff[0]=new event();
eventStuff[1]=new event();
eventStuff[2]=new event();

如果不初始化
eventStuff
的值,默认值将是
[null,null,null]

因此,

eventStuff[x].setEventCodeString();
eventStuff[x].setGuests();
eventStuff[x].setContactNumber();
eventStuff[x].setEventStr();
将为您提供
NullPointerException

列表事件=新的ArrayList(3);
List<Event> events = new ArrayList<Event>(3);
    for(int i = 0; i < 3; i++){
        Event evt = new Event();
        events.setXXX(***);
        events.setXXX(***);
        events.setXXX(***);
        events[i] = evt;
    }
对于(int i=0;i<3;i++){ Event evt=新事件(); 事件。setXXX(***); 事件。setXXX(***); 事件。setXXX(***); 事件[i]=evt; }

您只需分配数组,但不会将对象存储在数组中

您的数组中充满了空值。请原谅,我不太精通该语言。看在我的份上,你能说得更具体一点吗?当然,你的建议是完美的。非常感谢您的支持!
List<Event> events = new ArrayList<Event>(3);
    for(int i = 0; i < 3; i++){
        Event evt = new Event();
        events.setXXX(***);
        events.setXXX(***);
        events.setXXX(***);
        events[i] = evt;
    }