java电话本使用Map,在java控制台中编写电话本,利用hashmap存储数据

();

private String name;

private String sex;

private String age;

private String num;

public static void main(String[] args) {

// TODO Auto-generated method stub

new phonebook().run();

}

private void run() {

// TODO Auto-generated method stub

while (startsingle) {

System.out.println("———————————————————电话本———————————————————");

System.out.println("1.添加\t2.删除\t3.修改\t4.查询\t5.打印全部\t0.退出");

System.out.println("———————————————————电话本———————————————————");

System.out.println("请输入数字选择功能");

String select = sc.next();

switch (select) {

case "1":

add();

break;

case "2":

delete();

break;

case "3":

update();

break;

case "4":

search();

break;

case "5":

printall();

break;

case "0":

sc.close();

startsingle = false;

break;

default:

System.out.println("输错了,重来!!!!");

break;

}

}

}

private void printall() {

// TODO Auto-generated method stub

// 1.常见的打印方式

int i = 1;

for (String key : book.keySet()) {

System.out.print("第" + i + "位联系人\t");

System.out.println(book.get(key).printone());

i++;

}

//Iterator iter=book.entrySet().iterator();

//while(iter.hasNext()){

// System.out.println(iter.next());

//}

}

private void search() {

// TODO Auto-generated method stub

System.out.println("输入查询的联系人姓名");

name = sc.next();

if (find(name) == 0) {

System.out.println("联系人不存在!!!!");

return;

}

System.out.println(book.get(name).printone());

}

private void update() {

// TODO Auto-generated method stub

System.out.println("输入要修改的联系人信息!!!");

name = sc.next();

int update = find(name);

if (update == 0) {

System.out.println("你要修改的联系人不存在!!!!");

return;

}

book.remove(name);

books b = new books();

System.out.println("输入姓名!!!");

name = sc.next();

// 联系人信息修改之后会附带着修改hashmap中的键

b.setName(name);

System.out.println("输入性别!!!");

b.setSex(sc.next());

System.out.println("输入年龄!!!");

b.setAge(sc.next());

System.out.println("输入电话!!!");

b.setNum(sc.next());

book.put(name, b);

System.out.println(b.printone());

b = null;

System.gc();

}

private void delete() {

// TODO Auto-generated method stub

System.out.println("请输入要删除联系人的姓名!!!!!");

String name = sc.next();

int i = find(name);

if (i == 1) {

book.remove(name);

System.out.println("删除成功!!!!");

} else {

System.out.println("你要删除的联系人不存在!!!!");

}

}

private void add() {

// TODO Auto-generated method stub

name = null;

boolean addsingle = true;

while (addsingle) {

System.out.println("输入姓名!!!!!");

name = sc.next();

if (book.get(name) != null) {

System.out.println("联系人已存在,确认覆盖联系人?????");

System.out.println("1.覆盖\t2.重新输入\t3.取消");

String covervalue = sc.next();

switch (covervalue) {

case "1":

System.out.println("输入姓名!!!!!");

name = sc.next();

addsingle = false;

break;

case "2":

break;

case "3":

addsingle = false;

return;

default:

System.out.println("输错了!!!!");

break;

}

} else {

addsingle = false;

}

}

System.out.println("输入性别!!!!!");

sex = sc.next();

System.out.println("输入姓年龄!!!!!");

age = sc.next();

System.out.println("输入电话!!!!!");

num = sc.next();

books b = new books();

b.setName(name);

b.setAge(age);

b.setNum(num);

b.setSex(sex);

book.put(name, b);

System.out.println("添加成功");

System.out.println(b.printone());

b = null;

System.gc();

}

private int find(String name) {

if (book.get(name) == null) {

return 0;// 表示不存在

}

return 1;

}

}

class books {

private String name;

private String sex;

private String age;

private String num;

public String printone() {

return "name:" + name + "\tsex:" + sex + "\tage:" + age + "\tnum:"

+ num;

}

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 String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

public String getNum() {

return num;

}

public void setNum(String num) {

this.num = num;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值