• 使用HashMap编写一程序实现存储某班级学生信息


    1. 使用HashMap编写一程序实现存储某班级学生信息,要求在屏幕上打印如下列表      

     学号   姓名   性别   年龄      

    001    张三   男      23        

    002    李四   男      22      

    要求:学生信息有用户输入,且提供检索、删除操作

    Student类代码,对学生信息进行封装

    public class Student {
        /**学号、姓名、性别、年龄*/
        private int id;
        private String name;
        private char sex;
        private int age;
        public Student(int id, String name, char sex, int age) {
            super();
            this.id = id;
            this.name = name;
            this.sex = sex;
            this.age = age;
        }
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public char getSex() {
            return sex;
        }
        public void setSex(char sex) {
            this.sex = sex;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        
    }

    测试类代码,实现在控制台对学生信息进行增加,删除,查询。

     2 
     3 import java.io.BufferedReader;
     4 import java.io.IOException;
     5 import java.io.InputStreamReader;
     6 import java.util.HashMap;
     7 import java.util.Set;
     8 
     9 public class Test4 {
    10     /**
    11      * @param args
    12      */
    13     public static void main(String[] args) {
    14         Student student1 = new Student(001, "张三", '男', 20);
    15         Student student2 = new Student(002, "王舞", '女', 21);
    16 
    17         HashMap<Integer, Student> map = new HashMap<Integer, Student>();
    18         map.put(student1.getId(), student1);
    19         map.put(student2.getId(), student2);
    20         System.out.println("学生信息如下:");
    21         print(map);
    22         System.out.println();
    23         while (true) {
    24             System.out
    25                     .println("请选择你要操作的方式:
    学生信息增加请输入:1 学生信息检索请输入:2 学生信息删除请输入:3 退出请输入:4");
    26             BufferedReader input = new BufferedReader(new InputStreamReader(
    27                     System.in));
    28             try {
    29                 switch (Integer.parseInt(input.readLine())) {
    30                 // 增加学生信息
    31                 case 1:
    32                     System.out.println("请输入要增加的学生信息,学号、姓名、性别、年龄");
    33                     String[] split = input.readLine().split(" ");
    34                     Student student3 = new Student(Integer.parseInt(split[0]),
    35                             split[1], split[2].charAt(0),
    36                             Integer.parseInt(split[3]));
    37                     map.put(Integer.parseInt(split[0]), student3);
    38                     print(map);
    39                     break;
    40                 // 检索学生信息
    41                 case 2:
    42                     System.out.println("请输入要查询的学生的学号:");
    43                     Student search = map.get(Integer.parseInt(input.readLine()));
    44                     if (search != null) {
    45                         System.out.println("检索到学生的信息是:" + search.getId() + "	"
    46                                 + search.getName() + "	" + search.getSex()
    47                                 + "	" + search.getAge());
    48                     }
    49                     break;
    50                     //删除学生信息
    51                 case 3:
    52                     System.out.println("请输入要删除的学生的学号:");
    53                     Student remove=map.remove(Integer.parseInt(input.readLine()));
    54                     if(remove!=null){
    55                         System.out.println("要删除的学生是:
    " + remove.getId()
    56                                 + "	" + remove.getName() + "	"
    57                                 + remove.getSex() + "	" + remove.getAge());
    58                     }
    59                     break;
    60                 case 4:
    61                     System.exit(0);
    62 
    63                 default:
    64                     break;
    65                 }
    66 
    67             } catch (IOException e) {
    68                 e.printStackTrace();
    69             }
    70         }
    71 
    72     }
    73 
    74     static void print(HashMap<Integer, Student> map) {
    75         // 通过key来获取对应的值
    76         Set<Integer> keySet = map.keySet();
    77         System.out.println("学号	姓名:	性别:	年龄:");
    78         for (Integer id : keySet) {
    79             System.out.println(id + "	" + map.get(id).getName() + "	"
    80                     + map.get(id).getSex() + "	" + map.get(id).getAge());
    81         }
    82     }
    83 
    84 }
  • 相关阅读:
    支付宝H5 与网页端支付开发
    java图片操作--生成与原图对称的图片
    java 图片的自定义大小
    微信公众号开发(2)---消息的接收发送
    js 创建对象
    jqery多选
    金额大写转换
    js数字转换
    js日期格式转换
    java设计模式
  • 原文地址:https://www.cnblogs.com/dj168/p/3369128.html
Copyright © 2020-2023  润新知