Java 在Eclipse上添加/修改/删除列表项

Java 在Eclipse上添加/修改/删除列表项,java,eclipse,Java,Eclipse,我的应用程序开发课程的作业要求我们为牙医创建一个办公系统。 以下要求是: 它必须显示牙医、助理、患者和服务的当前列表 它必须允许用户在此列表中添加/编辑/或删除项目 它必须根据所选服务为客户显示发票 我的主要问题围绕着作业的添加/编辑/删除部分。我想知道哪种方法最好。然而,他确实给出了我们不应该使用数据库的指导方针 以下是我到目前为止的情况。注意:我不需要所有四个列表的代码,如果我有一个,我应该能够找出其他的 import java.util.Scanner; 公营牙科诊所 { 公共静态v

我的应用程序开发课程的作业要求我们为牙医创建一个办公系统。 以下要求是:

  • 它必须显示牙医、助理、患者和服务的当前列表
  • 它必须允许用户在此列表中添加/编辑/或删除项目
  • 它必须根据所选服务为客户显示发票
我的主要问题围绕着作业的添加/编辑/删除部分。我想知道哪种方法最好。然而,他确实给出了我们不应该使用数据库的指导方针

以下是我到目前为止的情况。注意:我不需要所有四个列表的代码,如果我有一个,我应该能够找出其他的

import java.util.Scanner;
公营牙科诊所
{
公共静态void main(字符串[]args)
{
扫描仪sc=新的扫描仪(System.in);
患者pat1=新患者(“1”、“詹姆斯”、“麦克”、“ABC街123号”、“7701234567”);
患者pat2=新患者(“2”、“马克”、“史密斯”、“456 DEF街”、“67844444”);
患者pat3=新患者(“3”、“道格”、“巴克”、“吉街789号”、“5558889999”);
doc1医生=新医生(“001”、“梅勒妮”、“琼斯”、“医生大道555号”、“DDS”);
doc2医生=新医生(“002”、“Melissa”、“Roberts”、“777 Oak West”、“DMD”);
doc3医生=新医生(“003”、“卢克”、“天行者”、“333托什站”、“DDS”);
doc4医生=新医生(“004”、“Han”、“Solo”、“111千禧大道”、“DMD”);
System.out.println(“****************************************************************************************************************”);
System.out.println(“Kennesaw牙科诊所”);
System.out.println(“****************************************************************************************************************”);
System.out.println(“1.显示患者列表”);
System.out.println(“2.显示医生列表”);
System.out.println(“3.显示助手列表”);
System.out.println(“4.显示服务费”);
System.out.println(“5.编辑患者列表”);
System.out.println(“6.编辑医生名单”);
System.out.println(“7.编辑助手列表”);
System.out.println(“8.编辑服务费”);
系统输出打印(“9.开具患者发票”);
System.out.println(“0.退出程序”);
System.out.println(“请选择一个选项:”);
int option=sc.nextInt();
开关(选件)
{
案例1:
System.out.println(“*******************************************************************************************************************************”);
系统输出打印项次(“患者”);
System.out.println(“*******************************************************************************************************************************”);
System.out.println(“号码”+“名字”+“姓氏”+“地址”+“电话号码”);
System.out.println(pat1.getIdentification()+pat1.getFirstName()+pat1.getLastName()+pat1.getAddress()+pat1.getPhoneNumber);
System.out.println(pat2.getIdentification()+pat2.getFirstName()+pat2.getLastName()+pat2.getAddress()+pat2.getPhoneNumber);
System.out.println(pat3.getIdentification()+pat3.getFirstName()+pat3.getLastName()+pat3.getAddress()+pat3.getPhoneNumber);
打破
案例2:
System.out.println(“*******************************************************************************************************************************”);
System.out.println(“医生”);
System.out.println(“*******************************************************************************************************************************”);
System.out.println(“数字”+“名字”+“姓氏”+“地址”+“专业化”);
System.out.println(doc1.getIdentification()+doc1.getFirstName()+doc1.getLastName()+doc1.getAddress()+doc1.getSpecialization);
System.out.println(doc2.getIdentification()+doc2.getFirstName()+doc2.getLastName()+doc2.getAddress()+doc2.getSpecialization);
System.out.println(doc3.getIdentification()+doc3.getFirstName()+doc3.getLastName()+doc3.getAddress()+doc3.getSpecialization);
System.out.println(doc4.getIdentification()+doc4.getFirstName()+doc4.getLastName()+doc4.getAddress()+doc4.getSpecialization);
打破
案例3:
打破
案例4:
打破
案例5:
打破
}
}

}
一种方法是将每个实例存储在
类类型的
数组列表中

例如:
ArrayList list=new ArrayList()

您知道有一个
Patient
对象的
ArrayList

然后简单地添加它们,就像

list.add(pat1);
list.add(pat2);
list.add(pat3);
要删除它们,只需调用
remove()
方法即可

list.remove(pat2);
要编辑它们,可以调用所需的特定对象,并使用
Patient
类中的set方法

pat1.setFirstName("new name");
注意:您的构造函数参数与您试图调用的参数不匹配,因此请根据
Patient
类更改它们,或者更改
Patient
类构造函数


另外,您的
患者
构造函数是
医生
,但应该是
患者
。这就是复制/粘贴的问题。

这与Eclipse无关。阅读一些Java基础教程。有
pat1
pat2
pat3
。另一名新患者将被存放在哪里?考虑使用可以添加或删除的列表。医生也一样。行为(本例中为添加/编辑/删除)属于类(而不是方法)。思考分配中的各种对象是如何相互作用的。把它画在纸上。这将有助于确定哪个类负责哪个行为。