电话本管理系统HashMap实现作业


添加 张三 李四的信息

 

查询所有人

根据姓名查询 李四

将张三的信息修改为王五


 

删除李四的信息


 

输入代号合法性检测

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("代号输入有误,请重新输入");

}

}

}

}

猜你喜欢

转载自748739129.iteye.com/blog/2244581