(Java)类的数组

时间:2016-04-06 00:17:12

标签: java arrays helper

我在这里有一个课程,它按特定顺序给我一个日期 我想要做的是用四种类型的日期创建这个类的数组。

  • 1984年5月16日
  • 1978年11月14日
  • 1980年9月21日
  • 1987年7月3日

如何在数组????

中填入这些日期
public class DateArray {

  private String month; 
  private int day; 
  private int year; 


  public DateArray(String n, int d, int y){
    month = n;
    day = d;
    year = y;
  }


  public String toString(){
    return month + "/" + day + "/" + year; 
  }

这就是我Main现在的样子:

DateArray date = new DateArray("jan", 5, 20);
String s =  date.toString();

System.out.println(s);

DateArray [] dates = new DateArray[3];


for(int i =0; i<dates.length; i++)
{
    System.out.println(dates[i]);
}

2 个答案:

答案 0 :(得分:1)

您还没有在代码示例中为数组元素设置任何值。你需要类似的东西

dates[0] = new DateArray(month, day, year);

表示每个元素。另外,我建议命名一个类型&#39;数组&#39;这不是阵列可能令人困惑。

答案 1 :(得分:1)

首先,根据您的预期结果,您的DateArray.toString()应该看起来像 1

@Override
public String toString() {
    return month + " " + day + ", " + year;
}

然后您可以使用类似

的内容创建和显示数组
public static void main(String[] args) {
    DateArray[] dates = new DateArray[] { new DateArray("May", 16, 1984), 
            new DateArray("November", 14, 1978),
            new DateArray("September", 21, 1980), new DateArray("July", 3, 1987) };
    for (DateArray da : dates) {
        System.out.println(da);
    }
}

我得到(根据要求)

May 16, 1984
November 14, 1978
September 21, 1980
July 3, 1987

1 如果您认为正确覆盖超类型方法,则覆盖注释可以帮助您,但您不是。我建议你一直使用它。