zoukankan      html  css  js  c++  java
  • Java自学笔记之学生管理系统

    实现:学生管理系统,实现学生信息的添加、修改、查询和删除功能

    涉及:集合的基础知识(集合遍历,值得获取与替换,set/get方法)

    代码如下:

    Student文件

     1 package Demo_1208;
     2 
     3 public class Student {
     4     private String sid;
     5     private String name;
     6     private String age;
     7     private String address;
     8 
     9     public Student() {
    10     }
    11 
    12     public Student(String sid, String name, String age, String address) {
    13         this.sid = sid;
    14         this.name = name;
    15         this.age = age;
    16         this.address = address;
    17     }
    18 
    19     public String getSid() {
    20         return sid;
    21     }
    22 
    23     public void setSid(String sid) {
    24         this.sid = sid;
    25     }
    26 
    27     public String getName() {
    28         return name;
    29     }
    30 
    31     public void setName(String name) {
    32         this.name = name;
    33     }
    34 
    35     public String getAge() {
    36         return age;
    37     }
    38 
    39     public void setAge(String age) {
    40         this.age = age;
    41     }
    42 
    43     public String getAddress() {
    44         return address;
    45     }
    46 
    47     public void setAddress(String address) {
    48         this.address = address;
    49     }
    50 }

    StudentManager文件

      1 package Demo_1208;
      2 
      3 import java.util.ArrayList;
      4 import java.util.Scanner;
      5 
      6 public class StudentManager {
      7     public static void main(String[] args) {
      8         // 创建集合对象,用于存储学生数据
      9         ArrayList<Student> array = new ArrayList<Student>();
     10         while (true) {
     11             System.out.println("--------------欢迎来到学生管理系统--------------");
     12             System.out.println("1 添加学生");
     13             System.out.println("2 删除学生");
     14             System.out.println("3 修改学生");
     15             System.out.println("4 查看所有学生");
     16             System.out.println("5 退出");
     17             System.out.println("请输入你的选择:");
     18 
     19             Scanner sc = new Scanner(System.in);
     20             String line = sc.nextLine();
     21 
     22             // 用switch语句实现操作选择
     23             switch (line) {
     24                 case "1":
     25                     addStudent(array);
     26 //                    System.out.println("添加学生");
     27                     break;
     28                 case "2":
     29                     deleteStudent(array);
     30 //                    System.out.println("删除学生");
     31                     break;
     32                 case "3":
     33                     updateStudent(array);
     34 //                    System.out.println("修改学生");
     35                     break;
     36                 case "4":
     37                     searchStudent(array);
     38 //                    System.out.println("查看所有学生");
     39                     break;
     40                 case "5":
     41                     System.out.println("退出");
     42                     System.exit(0);
     43             }
     44         }
     45     }
     46 
     47     /*
     48     // 定义添加学生的方法
     49     public static void addStudent(ArrayList<Student> array) {
     50         Scanner sc = new Scanner(System.in);
     51 
     52         System.out.println("请输入学生学号:");
     53         String sid = sc.nextLine();
     54         System.out.println("请输入学生姓名:");
     55         String name = sc.nextLine();
     56         System.out.println("请输入学生年龄:");
     57         String age = sc.nextLine();
     58         System.out.println("请输入学生居住地:");
     59         String address = sc.nextLine();
     60 
     61         // 创建学生对象,把键盘录入的数据复制给学生对象的成员变量
     62         Student s = new Student();
     63         s.setSid(sid);
     64         s.setName(name);
     65         s.setAge(age);
     66         s.setAddress(address);
     67 
     68         // 将学生对象添加到集合中
     69         array.add(s);
     70 
     71         // 给出添加成功提示
     72         System.out.println("添加学生成功");
     73 
     74     }
     75     */
     76     // 定义添加学生的方法
     77     public static void addStudent(ArrayList<Student> array) {
     78         Scanner sc = new Scanner(System.in);
     79         String sid;
     80 
     81         while (true) {
     82             System.out.println("请输入学生学号:");
     83             sid = sc.nextLine();
     84             boolean flag = isUsed(array, sid);
     85             if (flag) {
     86                 System.out.println("你输入的学号已被使用,请重新输入");
     87             } else {
     88                 break;
     89             }
     90         }
     91 
     92         System.out.println("请输入学生姓名:");
     93         String name = sc.nextLine();
     94         System.out.println("请输入学生年龄:");
     95         String age = sc.nextLine();
     96         System.out.println("请输入学生居住地:");
     97         String address = sc.nextLine();
     98 
     99         // 创建学生对象,把键盘录入的数据复制给学生对象的成员变量
    100         Student s = new Student();
    101         s.setSid(sid);
    102         s.setName(name);
    103         s.setAge(age);
    104         s.setAddress(address);
    105 
    106         // 将学生对象添加到集合中
    107         array.add(s);
    108 
    109         // 给出添加成功提示
    110         System.out.println("添加学生成功");
    111 
    112     }
    113 
    114     // 定义查询所有学生的方法
    115     public static void searchStudent(ArrayList<Student> array) {
    116         if (array.size() == 0) {
    117             System.out.println("无信息,请先添加信息在查询");
    118             // 集合中无信息时直接跳出程序,不继续进行
    119             return;
    120         }
    121         // 显示表头信息
    122         // 	其实就是tab键的位置
    123         System.out.println("学号	姓名	年龄	居住地");
    124         // 将集合中的数据取出按照对应的格式显示学生信息,年龄显示补充“岁”
    125         for (int i = 0; i < array.size(); i++) {
    126             Student s = array.get(i);
    127             System.out.println(s.getSid() + "	" + s.getName() + "	" + s.getAge() + "岁" + "	" + s.getAddress());
    128         }
    129 
    130     }
    131 
    132     // 定义删除学生的方法
    133     public static void deleteStudent(ArrayList<Student> array) {
    134         // 给出删除学生的依据提示
    135         System.out.println("请输入你要删除的学生的学号:");
    136         Scanner sc = new Scanner(System.in);
    137         String id = sc.nextLine();
    138 
    139         int index = -1;
    140         for (int i = 0; i < array.size(); i++) {
    141             Student s = array.get(i);
    142             if (s.getSid().equals(id)) {
    143 //                array.remove(i);
    144                 index = i;
    145                 break;
    146             }
    147         }
    148         if (index == -1) {
    149             System.out.println("该信息不存在,请重新输入:");
    150         } else {
    151             array.remove(index);
    152             System.out.println("删除学生成功!");
    153         }
    154 
    155     }
    156 
    157     // 定义修改学生信息的方法
    158     public static void updateStudent(ArrayList<Student> array) {
    159         // 键盘录入要修改的学生学号,显示提示信息
    160         Scanner sc = new Scanner(System.in);
    161 
    162         System.out.println("请输入你要修改的学生学号:");
    163         String old_id = sc.nextLine();
    164 
    165         // 键盘录入修改后的学生信息
    166         System.out.println("请输入学生新姓名:");
    167         String name = sc.nextLine();
    168         System.out.println("请输入学生新年龄:");
    169         String age = sc.nextLine();
    170         System.out.println("请输入学生新居住地:");
    171         String address = sc.nextLine();
    172 
    173         // 创建学生对象
    174         Student s = new Student();
    175         s.setSid(old_id);
    176         s.setName(name);
    177         s.setAge(age);
    178         s.setAddress(address);
    179 
    180         // 遍历集合修改对应的学生信息
    181         for (int i = 0; i < array.size(); i++) {
    182             Student student = array.get(i);
    183             if (student.getSid().equals(old_id)) {
    184                 array.set(i, s);
    185             }
    186         }
    187         System.out.println("学生信息修改成功!");
    188     }
    189 
    190     // 定义一个方法,判断学号是否被使用
    191     public static boolean isUsed(ArrayList<Student> array, String sid) {
    192         // 如果与集合中的某一个学生学号相同,返回true;如果都不相同,返回false
    193         boolean flag = false;
    194         for (int i = 0; i < array.size(); i++) {
    195             Student s = array.get(i);
    196             if (s.getSid().equals(sid)) {
    197                 flag = true;
    198                 break;
    199             }
    200         }
    201         return flag;
    202     }
    203 }
  • 相关阅读:
    分布式锁原理及实现方式
    【FAQ】Maven 本地仓库明明有jar包,pom文件还是报错解决办法
    【FAQ】tomcat启动jdk版本不一致
    【Map,HashMap,Vector,List】资料汇总
    【FAQ】调用接口序列化问题
    【docker】docker下安装mysql
    linux tcpdump抓包Post请求
    Springboot 在@Configuration注解的勒种 使用@Autowired或者@value注解 读取.yml属性失败
    Springboot使用Shiro-整合Redis作为缓存 解决定时刷新问题
    CentOS yum 安装nginx
  • 原文地址:https://www.cnblogs.com/marvintester/p/14106486.html
Copyright © 2011-2022 走看看