加载多维对象数组

时间:2015-03-12 05:15:24

标签: java arrays multidimensional-array

我完成了Java任务("交付时间表"程序)的工作,并且遇到了一些绊脚石。 我完成的这个项目的第一个组件是根据用户输入的属性创建一个创建Delivery对象的类。那部分完全有效。第二个类是Scheduler类,它允许用户操作20个对象的数组中的数据,以便创建一个有序的" schedule"交付的交付。有些是从交付类创建的用户输入值,但我的教授希望我们手动输入交付数组对象的前4个部分。这就是我犯错误的地方 -

Delivery[][][][][] dArray=new Delivery[20][20][20][20][20];


Delivery[][][][][] dArray={"Mar",4,17,30,"Pizza"},{"Apr",1,6,30"Special Delivery"},{"May",6,12,0,"Amazon (Books)"},{"Jun",3,11,15,"Car Parts"};

该代码位于Schedule类的数据区域中。请帮忙!如果这部分不起作用,我就无法完成Schedule类的其余部分。

为了便于阅读,这些是我需要放入数组的对象:

Mar 4, 17:30 Pizza

Apr 1, 06:30 Special Delivery

May 6, 12:00 Amazon (Books)

Jun 3, 11:15 Car Parts

其中" Mar",4,17,30和"比萨"都是单独的价值观。 4,17,30是int值。

修改:来自此问题的评论。

link的传递类结构。

public class Delivery {
    private String month ="";
    private int day=0;
    private int hour=0;
    private int minute=0;
    private String message=""; //no longer than 40char
    private int maxd=0;

    //getter setter and other methods
}

2 个答案:

答案 0 :(得分:0)

不确定为什么要在这种情况下使用数组,这就是要求。 您可以创建Java POJO类并将其作为对象处理。

答案 1 :(得分:0)

看起来你正在创建一个五维数组,正如@NamanGala在评论中指出的那样。

您可能要做的是创建一个Delivery类型的一维数组,并让Delivery的每个实例都拥有这些属性。

Delivery[] myDeliveries = new Delivery[20];
myDeliveries[0] = new Delivery();
myDeliveries[1] = new Delivery();

此外,您使用的对象文字语法在Java中不起作用。您必须调用Delivery对象的构造函数。查看您链接到上面的Delivery类,您可以执行以下操作:

myDeliveries[0] = new Delivery("Mar", 4, 17, 30, "Pizza");