在java中初始化多个类对象的数组?
我需要使用构造函数来初始化类对象数组,但我无法理解使其工作的语法。我需要包括一个字符串和五个整数。下面是我的代码中一些必要的细节在java中初始化多个类对象的数组?,java,Java,我需要使用构造函数来初始化类对象数组,但我无法理解使其工作的语法。我需要包括一个字符串和五个整数。下面是我的代码中一些必要的细节 public Event(String n, int g) { eventNumber=n; guests=g; } 来自“Event.java” 来自“dinneEvent.java”,它扩展了Event.java for(int x=0; x<EVENTS_QUANTITY; ++x) {
public Event(String n, int g)
{
eventNumber=n;
guests=g;
}
来自“Event.java”
来自“dinneEvent.java”,它扩展了Event.java
for(int x=0; x<EVENTS_QUANTITY; ++x)
{
String n;
int g, e, s1, s2, d;
Scanner input=new Scanner(System.in);
System.out.print("Enter event number, number of guests, and ID of entree, two sides, and a dessert.");
nums[x]=input.nextLine();
ints[x][0]=input.nextInt();
ints[x][1]=input.nextInt();
ints[x][2]=input.nextInt();
ints[x][3]=input.nextInt();
ints[x][4]=input.nextInt();
}
DinnerEvent[][] events={ {nums[0], ints[0][0], ints[0][1], ints[0][2], ints[0][3], ints[0][4]},
{nums[1], ints[1][0], ints[1][1], ints[1][2], ints[1][3], ints[1][4]},
{nums[2], ints[2][0], ints[2][1], ints[2][2], ints[2][3], ints[2][4]},
{nums[3], ints[3][0], ints[3][1], ints[3][2], ints[3][3], ints[3][4]}};
for(int x=0;x要创建新的晚餐事件,请调用构造函数并传递所需的参数:
DinnerEvent myDinner = new DinnerEvent("One", 5, 3, 4, 5, 6);
DinnerEvent[] dinners = new DinnerEvent[2]; // Array of two instances
// Initialize instances individually
dinners[0] = new DinnerEvent("First Dinner", 2, 2, 3, 4, 5);
dinners[1] = new DinnerEvent("Second Dinner", 7, 8, 3, 41, 45);
变量myDinner
现在保存DinnerEvent
类的一个实例。我传递了一些随机参数,因为我不知道代码的确切语义。我假设大多数参数都使用整数,因为它们对应于菜单项
如果要创建多个dinneEvent
实例,则需要定义多个变量:
DinnerEvent myFirstDinner = new DinnerEvent("One", 5, 3, 4, 5, 6);
DinnerEvent mySecondDinner = new DinnerEvent("Two", 2, 1, 2, 3, 7);
此外,您还可以创建dinneEvent
实例的集合,例如作为一个数组。但是,现在,您需要一个循环来迭代该数组中的每个项,以逐个初始化相应的实例:
DinnerEvent[] dinners = new DinnerEvent[4]; // Array of four instances
// Initialize array elements in a loop
for (int i = 0; i < dinners.length; ++i) {
dinners[i] = new DinnerEvent(i + ". Dinner", 1, 2, 3, 4, 5);
}
现在,您将得到一个由两个元素组成的数组,这两个元素都有各自的属性。您可以调用构造函数两次并传入所需的参数。要创建新的晚餐事件,请调用构造函数并传入所需的参数:
DinnerEvent myDinner = new DinnerEvent("One", 5, 3, 4, 5, 6);
DinnerEvent[] dinners = new DinnerEvent[2]; // Array of two instances
// Initialize instances individually
dinners[0] = new DinnerEvent("First Dinner", 2, 2, 3, 4, 5);
dinners[1] = new DinnerEvent("Second Dinner", 7, 8, 3, 41, 45);
变量myDinner
现在保存DinnerEvent
类的一个实例。我传递了一些随机参数,因为我不知道代码的确切语义。我假设大多数参数都使用整数,因为它们对应于菜单项
如果要创建多个dinneEvent
实例,则需要定义多个变量:
DinnerEvent myFirstDinner = new DinnerEvent("One", 5, 3, 4, 5, 6);
DinnerEvent mySecondDinner = new DinnerEvent("Two", 2, 1, 2, 3, 7);
此外,您还可以创建dinneEvent
实例的集合,例如作为一个数组。但是,现在,您需要一个循环来迭代该数组中的每个项,以逐个初始化相应的实例:
DinnerEvent[] dinners = new DinnerEvent[4]; // Array of four instances
// Initialize array elements in a loop
for (int i = 0; i < dinners.length; ++i) {
dinners[i] = new DinnerEvent(i + ". Dinner", 1, 2, 3, 4, 5);
}
现在,您将得到一个由两个元素组成的数组,两个元素都有各自的属性。您可以调用构造函数两次并传入所需的参数。假设scanner值作为构造函数的参数,您可以执行以下操作
DinnerEvent[] events = new DinnerEvent[EVENTS_QUANTITY];
for(int x=0; x<EVENTS_QUANTITY; ++x)
{
String n;
int g, e, s1, s2, d;
Scanner input=new Scanner(System.in);
System.out.print("Enter event number, number of guests, and ID of entree, two sides, and a dessert.");
n=input.nextLine();
g=input.nextInt();
e=input.nextInt();
s1=input.nextInt();
s2=input.nextInt();
d=input.nextInt();
events[x] = new DinnerEvent(n, g, e, s1, s2, d);
}
dinner事件[]事件=新的dinner事件[事件数量];
对于(intx=0;x假设scanner值作为构造函数的参数,您可以这样做
DinnerEvent[] events = new DinnerEvent[EVENTS_QUANTITY];
for(int x=0; x<EVENTS_QUANTITY; ++x)
{
String n;
int g, e, s1, s2, d;
Scanner input=new Scanner(System.in);
System.out.print("Enter event number, number of guests, and ID of entree, two sides, and a dessert.");
n=input.nextLine();
g=input.nextInt();
e=input.nextInt();
s1=input.nextInt();
s2=input.nextInt();
d=input.nextInt();
events[x] = new DinnerEvent(n, g, e, s1, s2, d);
}
dinner事件[]事件=新的dinner事件[事件数量];
对于(int x=0;x),在开始构建第一个事件之前,不必收集所有数据
Scanner input=new Scanner(System.in);
DinnerEvent[] dinnerEvents = new DinnerEvent[EVENTS_QUANTITY];
for(int index=0; index<dinnerEvents.length; ++index) {
System.out.print("Enter event number, number of guests, and ID of entree, two sides, and a dessert.");
dinnerEvents[x] = new DinnerEvent(
input.next(),
input.nextInt(),
input.nextInt(),
input.nextInt(),
input.nextInt(),
input.nextInt());
}
扫描仪输入=新扫描仪(System.in);
晚餐事件[]晚餐事件=新的晚餐事件[事件数量];
对于(int index=0;index,您不必在开始构建第一个事件之前收集所有数据
Scanner input=new Scanner(System.in);
DinnerEvent[] dinnerEvents = new DinnerEvent[EVENTS_QUANTITY];
for(int index=0; index<dinnerEvents.length; ++index) {
System.out.print("Enter event number, number of guests, and ID of entree, two sides, and a dessert.");
dinnerEvents[x] = new DinnerEvent(
input.next(),
input.nextInt(),
input.nextInt(),
input.nextInt(),
input.nextInt(),
input.nextInt());
}
扫描仪输入=新扫描仪(System.in);
晚餐事件[]晚餐事件=新的晚餐事件[事件数量];
对于(int index=0;index您可以澄清您的最终结果应该是什么吗?为什么事件数组有两个维度?很可能您只需要一个维度。每个事件的单个参数需要传递给构造函数。它们不会在数组中形成第二个维度。您可以澄清您的最终结果是什么吗结果应该是?为什么事件数组有两个维度?很可能您只需要一个维度。每个事件的单个参数需要传递给构造函数。它们不会在数组中形成第二个维度。