【问题标题】:Adding Objects to an array in Java在 Java 中将对象添加到数组中
【发布时间】:2016-02-13 00:42:03
【问题描述】:

我试图让用户输入日期来存储它,但我似乎无法将其记下来。

public class Planner {
private int MaxEvents = 10;
private int numEvents=0;
OurDate a = new OurDate();
Event events []= new Event[MaxEvents];

public void enterDate(){
    OurDate date = new OurDate();
    Scanner input = new Scanner (System.in);
    System.out.print("Enter Date: \nEnter day: ");
    int day=input.nextInt();
    System.out.print("Enter month: ");
    int month=input.nextInt();
    System.out.print("Enter year: ");
    int year=input.nextInt();
    date.setDay(day);
    date.setMonth(month);
    date.setYear(year);
    events[numEvents] = date;
    numEvents++;

}

当我尝试将创建的对象添加到数组时出现问题。

这里是 setDay、setMonth、setYear 的另一个参考类: 公共类OurDate { 私人国际日; 私人 int 月; 私人 int 年;

public OurDate(int day, int month, int year){
    this.day = day;
    this.month = month;
    this.year = year;
}
public OurDate() {
    this.day=1;
    this.month = 1;
    this.year = 2010;
}
public void setDay(int day) {
    if(day>=1 && day <=31){
        this.day = day;
    }else if(day>31){
        this.day = 1;
    }
}
public int getDay() {
    return day;
}
public int getMonth() {
    return month;
}
public void setMonth(int month) {
    if(month >=1 && month<=12)
        this.month = month;
}
public int getYear() {
    return year;
}
public void setYear(int year) {
    this.year = year;
}


}

【问题讨论】:

  • 你有 OurDate 类的代码吗?
  • 还有你的 Event 类 :) ?
  • 是的,刚刚将其添加到上面的帖子中
  • 您似乎正在将 OurDate 对象分配给 Event 类的数组?
  • 那是我犯的一个愚蠢的小错误......分配给了错误的人......

标签: java arrays oop


【解决方案1】:

您不能将OurDate 类型的对象添加到数组events,因为该数组需要Event 类型的对象,如其声明中所述:

Event events []= new Event[MaxEvents];

根据您的OurDate 类中的代码,它没有扩展Event,因此无法将这样的对象添加到数组中。

你可以改变你的数组来获取这样的 OurDate 对象:

OurDate[] dates = new OurDate[MaxEvents];

或者您可以创建一个新的Event 对象并在其中设置OurDate 对象 - 如下所示:

Event event = new Event();
event.setDate(date);
events[numEvents] = event;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 2016-11-10
    • 2013-12-13
    • 2012-03-11
    • 2016-02-06
    • 1970-01-01
    • 2018-08-22
    相关资源
    最近更新 更多