添加 张三 李四的信息
查询所有人
根据姓名查询 李四
将张三的信息修改为王五
删除李四的信息
输入代号合法性检测
outline
核心代码
//Person.java
package test;
public class Person {
private String name;
private String sex;
private int age;
private String num;
private String qq;
private String address;
public Person(String name,String sex,int age,String num,String qq,String address){
setName(name);
setSex(sex);
setAge(age);
setNum(num);
setQq(qq);
setAddress(address);
}
public Person(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public void display(){
System.out.print("姓名:"+getName()+",");
System.out.print("性别:"+getSex()+",");
System.out.print("年龄:"+getAge()+",");
System.out.print("电话:"+getNum()+",");
System.out.print("QQ:"+getQq()+",");
System.out.println("地址:"+getAddress());
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
}
//PersonInformation.java
package test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class PersonInformation {
public static ArrayList<Person> ems = new ArrayList();
public static Map<String, Person> map = new HashMap<String, Person>();
//添加
public void addPerson(){
Scanner sc = new Scanner(System.in);
System.out.println("————————————————添加电话本————————————————");
System.out.println("姓名:");
String name = sc.nextLine();
System.out.println("性别:");
String sex = sc.nextLine();
System.out.println("年龄:");
int age = sc.nextInt();
String num = sc.nextLine();
System.out.println("电话:");
num = sc.nextLine();
System.out.println("QQ:");
String qq = sc.nextLine();
System.out.println("地址:");
String address = sc.nextLine();
Person newOne = new Person(name,sex,age,num,qq,address);
ems.add(newOne);
map.put(name, newOne);
newOne.display();
System.out.println("添加成功");
}
//修改
public void updatePerson(){
Scanner sc = new Scanner(System.in);
System.out.println("————————————————修改电话本————————————————");
System.out.println("请输入要修改的姓名");
String name = sc.nextLine();
if(map.containsKey(name)){
Person ps = new Person();
map.get(name).display();
System.out.println("请重新输入信息");
System.out.println("姓名:");
String new_name=sc.nextLine();
ps.setName(new_name);
System.out.println("性别:");
ps.setSex(sc.nextLine());
System.out.println("年龄:");
ps.setAge(sc.nextInt());
String n = sc.nextLine();
System.out.println("电话:");
ps.setNum(sc.nextLine());
System.out.println("QQ:");
ps.setQq(sc.nextLine());
System.out.println("地址:");
ps.setAddress(sc.nextLine());
map.remove(name);
map.put(new_name, ps);
map.get(new_name).display();
System.out.println("修改成功");
}
else{
System.out.println("无信息");
}
}
//打印所有电话本
public void printAll(){
System.out.println("————————————————打印所有电话本————————————————");
Collection values = map.values();
for (Object object : values){
Person ps = (Person)object;
ps.display();
}
System.out.println("———————————————————————————————————————————");
}
//删除
public void delPerson(){
Scanner sc = new Scanner(System.in);
System.out.println("————————————————删除电话本————————————————");
System.out.println("请输入要删除的姓名:");
String name = sc.nextLine();
if(map.containsKey(name)){
map.get(name).display();
System.out.println("确定要删除吗?1(是)0(否)");
int flag=sc.nextInt();
String n=sc.nextLine();
if(flag==1){
map.remove(name);
System.out.println("删除成功");
}
}
else{
System.out.println("无信息");
}
}
//根据姓名查询
public void queryPerson(){
Scanner sc = new Scanner(System.in);
System.out.println("————————————————根据姓名查询电话本————————————————");
System.out.println("请输入要查询的姓名:");
String name = sc.nextLine();
if(map.containsKey(name)){
map.get(name).display();
}
else{
System.out.println("无信息");
}
}
}
//TestHashMap.java
package test;
import java.util.Scanner;
public class TestHashMap {
public static void main(String[] args){
while(true){
System.out.println("——————————————————电话本管理系统——————————————————");
System.out.println(" 1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("——————————————————电话本管理系统——————————————————");
System.out.println("请选择业务");
Scanner sc = new Scanner(System.in);
int i;
try{
i = sc.nextInt();
}
catch(java.util.InputMismatchException e){
System.out.println("代号只能为数字,请输入数字");
continue;
}
PersonInformation pi = new PersonInformation();
switch(i){
case 1:pi.addPerson();break;
case 2:pi.delPerson();break;
case 3:pi.updatePerson();break;
case 4:pi.printAll();break;
case 5:pi.queryPerson();break;
case 0:System.exit(0);
default:System.out.println("代号输入有误,请重新输入");
}
}
}
}