集合——HashMap 练习题 (个人信息录入)

JavaSE 专栏收录该内容
45 篇文章 0 订阅

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package gatherBox.exercises.exercisesTest;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Map<String, Person> aMap = new HashMap<String, Person>();//实例化一个HashMap
        for (;;) {//构建一个死循环
        System.out.println("****************************");
        System.out.println("\t\t1、信息录入");
        System.out.println("\t\t2、信息查询");
        System.out.println("\t\t3、信息修改");
        System.out.println("\t\t4、信息删除");
        System.out.println("\t\t5、退出");
        System.out.println("****************************");
        System.out.println("请输入你的选项");



//        其意思是 使用 Scanner 类中的 nextInt() 方法 输入一个整数,
//        该方法只是接受一个 整型的数据,如果输入的是非整数数据,
//        将会抛出 InputMismatchException 异常。
            Scanner input = new Scanner(System.in);// 创建输入流对象 input
            int num = input.nextInt();//



            //选择一个Map集合封装数据
            switch(num){
                case 1:
                    System.out.println("开始录入公民信息:");
                    System.out.println("(1)请输入姓名:");
                    String name = input.next();//接收键盘输入的数据(名字)
                    System.out.println("(2)请输入身份证号:");
                    String idCard = input.next();//接收键盘输入的数据(ID)
                    System.out.println("(3)请输入性别:");
                    String gender = input.next();//接收键盘输入的数据(性别)
                    System.out.println("(4)请输入地址:");
                    String address = input.next();//接收键盘输入的数据(地址)
                    System.out.println("录入成功!");

                    //将数据分装成一个对象
                    Person person = new Person(name, idCard, gender, address);

                    //将封装好的key、value装到集合
                    aMap.put(idCard,person);
                    break;
                case 2:
                    System.out.println("所有人信息列表如下:");

                    //遍历map集合
                    aMap.forEach((k,v)->{
                        System.out.println(v);
                    });
                    break;
                case 3:
                    System.out.println("开始信息修改:");
                    System.out.println("请输入修改身份证:");
                    String idcard = input.next();//接收键盘输入的数据(ID)
                    System.out.println("(1)请输入姓名:");
                    String Name2 = input.next();//接收键盘输入的数据(名字)
                    System.out.println("(2)请输入身份证号:");
                    String IdCard2 = input.next();//接收键盘输入的数据(ID)
                    System.out.println("(3)请输入性别:");
                    String Gender2 = input.next();//接收键盘输入的数据(性别)
                    System.out.println("(4)请输入地址:");
                    String Address2 = input.next();//接收键盘输入的数据(地址)

                    //开始修改,更具身份证号寻找到aMap集合中对应的记录
                    Person p = aMap.get(idcard);

                    p.setName(Name2);//修改名字
                    p.setIdCard(IdCard2);//修改身份证
                    p.setGender(Gender2);//修改性别
                    p.setAddress(Address2);//修改地址
                    System.out.println("修改成功");
                    break;
                case 4:
                    System.out.println("开始信息删除:");
                    System.out.println("请输入要删除人的身份证号:");
                    String deletionID = input.next();//身份证号
                    aMap.remove(deletionID);//删除
                    System.out.println("删除成功!");
                    break;
                case 5:
                    System.exit(0);
                    break;
                    default:
                        System.out.println("输入错误");
            }
        }
    }
}

 class Person{
    private String name;//名字
    private String idCard;//身份证号
    private String gender;//性别
    private String address;//地址

     //修改器set
     public void setName(String name){//给某一个属性(name)赋值
         this.name = name;
     }

     //阅读器get
     public String getName(){//返回某一个属性(name)
         return this.name;
     }

     public String getIdCard() {
         return idCard;
     }

     public void setIdCard(String idCard) {
         this.idCard = idCard;
     }

     public String getGender() {
         return gender;
     }

     public void setGender(String gender) {
         this.gender = gender;
     }

     public String getAddress() {
         return address;
     }

     public void setAddress(String address) {
         this.address = address;
     }

     public Person() {
     }

     public Person(String name, String idCard, String gender, String address) {
         this.name = name;
         this.idCard = idCard;
         this.gender = gender;
         this.address = address;
     }

     @Override
     public String toString() {
         return this.name+"\t"+this.idCard+"\t"+this.gender+"\t"+this.address;
     }
 }

https://www.bilibili.com/video/av73064835?p=24

  • 4
    点赞
  • 0
    评论
  • 8
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:黑客帝国 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值