• 学生个人信息管理系统


    需求:学生个人信息管理系统
    分析:学生管理:需要明确学生的所有信息。
    学生的信息有哪些?姓名 年龄 性别 电话 住址 学号 各科成绩
    需要一个类封装每个学生的这些信息

    学生信息的管理:
    针对每个学生需要可以对他/她的信息进行修改和查询,对每个学生对象可以增删操作。

    需要提供 学生信息各种操作 选择 的提示信息,这里我们统一使用控制台。

    首先学生类对象封装

    package studentmanage;

    public class Student {
    // 学生的信息有哪些?姓名 年龄 性别 电话 住址 学号 各科成绩
    private String name;
    private int age;
    private String sex;
    private String tel;
    private String address;
    private String snum;
    private float math;
    private float chinese;
    private float english;
    //使用构造函数进行默认初始化
    public Student(String name, int age, String sex, String tel,
    String address, String snum, float math, float chinese,
    float english) {
    super();
    this.name = name;
    this.age = age;
    this.sex = sex;
    this.tel = tel;
    this.address = address;
    this.snum = snum;
    this.math = math;
    this.chinese = chinese;
    this.english = english;
    }
    public Student() {
    //空参构造
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }
    public String getSex() {
    return sex;
    }
    public void setSex(String sex) {
    this.sex = sex;
    }
    public String getTel() {
    return tel;
    }
    public void setTel(String tel) {
    this.tel = tel;
    }
    public String getAddress() {
    return address;
    }
    public void setAddress(String address) {
    this.address = address;
    }
    public String getSnum() {
    return snum;
    }
    public void setSnum(String snum) {
    this.snum = snum;
    }
    public float getMath() {
    return math;
    }
    public void setMath(float math) {
    this.math = math;
    }
    public float getChinese() {
    return chinese;
    }
    public void setChinese(float chinese) {
    this.chinese = chinese;
    }
    public float getEnglish() {
    return english;
    }
    public void setEnglish(float english) {
    this.english = english;
    }
    }

    然后进行学生对象管理用集合中的Map进行操作

    package studentmanage;

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

    public class StudentManage {
    // 创建集合对象
    static Map map = new HashMap();

    public static void main(String[] args) {
    stuadd();

    stucheck(map);

    stuRevise();
    stucheck(map);
    studel();
    stucheck(map);
    }

    public static void stuadd() {
    boolean d = true;
    while (d) {
    System.out.println("------------->请添加学生对象<--------------");
    // 姓名 年龄 性别 电话 住址 学号 各科成绩
    System.out.println("请输入学生姓名:");
    Scanner a = new Scanner(System.in);
    String name = a.next();
    System.out.println("请输入学生年龄:");
    int age = a.nextInt();
    System.out.println("请输入学生性别:");
    // 可以用循环判断性别是否输入有无,如果错误就重新输入

    String sex = a.next();
    System.out.println("请输入学生电话:");
    // 可以用循环判断性别是否输入有无,如果错误就重新输入

    String tel = a.next();
    System.out.println("请输入学生住址:");
    // 可以用循环判断性别是否输入有无,如果错误就重新输入

    String adr = a.next();
    System.out.println("请输入学生学号:");

    String snum = a.next();
    System.out.println("请输入学生语文成绩:");

    float ch = a.nextFloat();
    System.out.println("请输入学生数学成绩:");

    float math = a.nextFloat();
    System.out.println("请输入学生英语成绩:");

    float en = a.nextFloat();
    // 在map中添加学生对象
    map.put(name, (new Student(name, age, sex, tel, adr, snum, math,
    ch, en)));
    System.out.println("继续添加学生对象请输入1,其他则退出添加");
    int b = a.nextInt();
    if (b != 1) {
    d = false;
    }
    }
    // map.put("秦文龙",(new Student("秦文龙", 22, "男", "13323725676", "河南滑县",
    // "131309219", 98, 98, 96)));
    // map.put("秦小龙",(new Student("秦小龙", 23, "男", "13323725676", "河南滑县",
    // "131309219", 98, 98, 96)));
    }

    public static void studel() {
    boolean s = true;
    while (s) {
    System.out.println("请输入要删除学生的姓名");
    Scanner aa = new Scanner(System.in);
    String a = aa.next();
    if (map.containsKey(a)) {
    s = false;
    map.remove(a);
    if (map.containsKey(a)) {
    System.out.println("删除不成功");
    s = true;
    }
    System.out.println("删除成功");
    } else {
    System.out.println("输入的学生不存在,请重新输入");
    }
    }
    }

    public static void stucheck(Map m) {
    System.out.println("------------->查看学生对象信息<-------------");
    Set s = m.keySet();
    for (Iterator iterator = s.iterator(); iterator.hasNext();) {
    Object key = iterator.next();
    Object val = m.get(key);
    Student s1 = (Student) val;
    System.out.println(key + "..." + s1.getAge() + "..." + s1.getSex()
    + "..." + s1.getAddress() + "..." + s1.getTel() + "..."
    + s1.getChinese() + "..." + s1.getMath() + "..."
    + s1.getEnglish());
    }
    }

    public static void stuRevise() {
    System.out.println("------------>请输入要修改的学生姓名:<--------------");
    Scanner a = new Scanner(System.in);
    String ss = a.next();
    if (map.containsKey(ss)) {
    boolean k = true;
    while (k) {
    System.out.println("请输入要修改的选项:");
    // 年龄 性别 电话 住址 学号 各科成绩
    System.out.println("1表示修改年龄, 2表示修改性别, 3表示修改电话, 4表示修改住址");
    System.out
    .println("5表示修改学号,6表示修改数学成绩,7表示修改语文成绩,8表示修改英语成绩,其他表示退出修改");

    int c = a.nextInt();
    Object val = map.get(ss);
    Student s1 = (Student) val;
    switch (c) {
    case 1: {
    System.out.println("请输入修改的年龄:");

    int age = a.nextInt();
    s1.setAge(age);
    }
    break;
    case 2: {
    System.out.println("请输入修改的性别:");

    String sex = a.next();
    s1.setSex(sex);
    }
    break;
    case 3: {
    System.out.println("请输入修改的电话:");

    String tel = a.next();
    s1.setTel(tel);
    }

    break;
    case 4: {
    System.out.println("请输入修改的住址:");

    String address = a.next();
    s1.setAddress(address);
    }

    break;
    case 5: {
    System.out.println("请输入修改的学号:");

    String address = a.next();
    s1.setAddress(address);
    }
    break;
    case 6: {
    System.out.println("请输入修改的数学成绩:");

    int math = a.nextInt();
    s1.setMath(math);
    }

    break;
    case 7: {
    System.out.println("请输入修改的语文成绩:");

    int chinese = a.nextInt();
    s1.setChinese(chinese);
    }

    break;
    case 8: {
    System.out.println("请输入修改的英语成绩:");

    int english = a.nextInt();
    s1.setEnglish(english);
    }
    break;
    default: {
    k = false;
    System.out.println("退出修改");
    }
    break;
    }
    }
    } else {
    System.out.println("输入的学生姓名不存在");
    }

    }
    }

  • 相关阅读:
    python求3的倍数与和
    linux内核优化参数
    ssh 调优参数
    mysql xtarbackup备份脚本
    mysql全库备份数据库脚本
    python json模块
    python函数介绍
    字典常用操作
    python常用字符串操作
    最好的10本适用于初学者阅读的javaScript和jQuery书籍
  • 原文地址:https://www.cnblogs.com/wenlong001/p/7203442.html
Copyright © 2020-2023  润新知