Java 如何在ArrayList中存储对象并打印它?

Java 如何在ArrayList中存储对象并打印它?,java,arrays,oop,object,Java,Arrays,Oop,Object,我在我的项目中工作,它是关于一个诊所的,我的课程是预约,我必须让用户输入日期、时间、区域、医生姓名、患者姓名。并将其存储在ArrayList中 我编写了代码,但当我运行项目时,没有输出,我不知道为什么:( 套餐预约; 导入java.util.Scanner; 导入java.util.ArrayList; 公开课任命{ 公共静态void main(字符串[]args){ ArrayList约会=新建ArrayList(); 扫描仪输入=新扫描仪(System.in); System.out.pri

我在我的项目中工作,它是关于一个诊所的,我的课程是预约,我必须让用户输入日期、时间、区域、医生姓名、患者姓名。并将其存储在ArrayList中 我编写了代码,但当我运行项目时,没有输出,我不知道为什么:(

套餐预约;
导入java.util.Scanner;
导入java.util.ArrayList;
公开课任命{
公共静态void main(字符串[]args){
ArrayList约会=新建ArrayList();
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入日期、时间、科室、医生、您的姓名以便预约:”;
约会xx=新约会();

对于(int i=0;i您的循环没有大括号,您只实例化了一次约会

for (int i = 0; i < 5; ++i) {
    appointment xx = new appointment();
    xx.setAppDay(input.nextLine());
    xx.setAppTime(input.nextLine());
    xx.setAppSection(input.nextLine());
    xx.setAppDoctor(input.nextLine());
    xx.setAppPatient(input.nextLine());

    appointments.add(xx);
}
for(int i=0;i<5;++i){
约会xx=新约会();
xx.setAppDay(input.nextLine());
xx.setAppTime(input.nextLine());
xx.setAppSection(input.nextLine());
xx.setAppDoctor(input.nextLine());
xx.setAppPatient(input.nextLine());
增加(xx);
}

然后,您需要在
约会中覆盖
toString()

您需要为此实现一个toString()方法。并按如下方式打印它

public String toString(){
    return this.appDay; // return the output you want, so build a String using your attributes
}

System.out.println(Arrays.toString(appointments));

编辑:按照Elliott Frisch所说的去做。

目前,相同的约会对象正在添加到列表中,因此列表中只有一个条目

因此,将对象创建和添加移动到列表中,同时在for循环中设置约会字段。请正确添加大括号,因为当前只有 xx.setAppDay(input.nextLine()) 是for循环的一部分


此外,约会不应是静态类,需要创建多个对象。

1.您的
for循环
仅应用于下一个立即行2.重写
toString()
在appointment中。我修复了它,但仍然没有显示任何输出您当前的代码是什么,您在哪里实现了toString函数?这是相同的代码,但我用{}修复了for循环,并在appointment类中添加了toString。仍然没有输出,并且创建+声明对象时显示错误(非静态变量…)我不知道为什么。这是相同的代码,但我用{}修复了for循环,并在appointment类中添加了toString。仍然没有输出,并且创建+声明对象时显示了错误(非静态变量…),我不知道为什么。我修复了它,但仍然没有显示任何输出。我修复了它,但仍然没有显示任何输出
public String toString(){
    return this.appDay; // return the output you want, so build a String using your attributes
}

System.out.println(Arrays.toString(appointments));