gpt4 book ai didi

java - 在 Java 中将对象添加到数组中

转载 作者:行者123 更新时间:2023-12-02 03:56:43 25 4
gpt4 key购买 nike

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

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 的另一个类供引用: 公共(public)类我们的日期{ 私有(private)国际日; 私有(private) int 月份; 私有(private) 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 类型的对象添加到数组 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;

关于java - 在 Java 中将对象添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com