Java 如何在ArrayList中存储对象并打印它?
我在我的项目中工作,它是关于一个诊所的,我的课程是预约,我必须让用户输入日期、时间、区域、医生姓名、患者姓名。并将其存储在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
套餐预约;
导入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));