我正在尝试让用户输入日期来存储它,但我似乎无法理解它。
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月; private int year;
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;
}
}
答案 0 :(得分:2)
您无法将类型为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;