用java编写一个客户信息管理系统,包含个人客户( IndividualCustomer)和企业客户(InstitutionalCustomer)两类信息并储存在某类集合中,编写向系统中添加客户(addCustomer)的方法,并从键盘输入具体客户的信息(要求 包括个人客户和企业客户)保存在某类集合(具体集合类自己选择)。 (4)编写从系统中输出客户(printCustomer)的方法,应用多态编程输出所有具体客户的信息
时间: 2024-01-16 07:04:26 浏览: 69
好的,我可以帮你解答这个问题。
首先,我们需要定义两个客户类:IndividualCustomer和InstitutionalCustomer,它们都继承自一个基类Customer。这里我们只需要定义一些基本的信息,比如姓名、电话、地址等,具体实现可以根据需求自行扩展。
```
public class Customer {
private String name;
private String phone;
private String address;
// 构造方法、getter和setter方法省略
}
public class IndividualCustomer extends Customer {
private String idNumber;
// 构造方法、getter和setter方法省略
}
public class InstitutionalCustomer extends Customer {
private String company;
// 构造方法、getter和setter方法省略
}
```
接下来,我们需要定义一个集合类来存储客户信息。这里我选择使用HashMap来实现,key为客户的姓名,value为对应的Customer对象。
```
public class CustomerManager {
private Map<String, Customer> customers;
public CustomerManager() {
customers = new HashMap<>();
}
public void addCustomer(Customer customer) {
customers.put(customer.getName(), customer);
}
public void printCustomers() {
for (Customer customer : customers.values()) {
System.out.println(customer.toString());
}
}
}
```
最后,我们可以在主函数中调用addCustomer方法,从键盘输入客户信息并添加到集合中,然后调用printCustomers方法输出所有客户的信息。
```
public static void main(String[] args) {
CustomerManager manager = new CustomerManager();
// 从键盘输入客户信息并添加到集合中
Scanner scanner = new Scanner(System.in);
System.out.print("请输入客户类型(个人客户/企业客户):");
String type = scanner.nextLine();
System.out.print("请输入客户姓名:");
String name = scanner.nextLine();
System.out.print("请输入客户电话:");
String phone = scanner.nextLine();
System.out.print("请输入客户地址:");
String address = scanner.nextLine();
if (type.equals("个人客户")) {
System.out.print("请输入客户身份证号码:");
String idNumber = scanner.nextLine();
IndividualCustomer customer = new IndividualCustomer(name, phone, address, idNumber);
manager.addCustomer(customer);
} else if (type.equals("企业客户")) {
System.out.print("请输入客户公司名称:");
String company = scanner.nextLine();
InstitutionalCustomer customer = new InstitutionalCustomer(name, phone, address, company);
manager.addCustomer(customer);
} else {
System.out.println("无效的客户类型!");
}
// 输出所有客户的信息
manager.printCustomers();
}
```
这样,我们就完成了一个简单的客户信息管理系统。需要注意的是,在实际应用中,我们可能还需要对输入进行一些验证和格式化处理,这里为了简化代码没有做过多处理。
阅读全文