zoukankan      html  css  js  c++  java
  • Java基础00-学生管理系统16

    1. 学生管理系统

    1.1 项目演示

     1.2 实现思路

     1.3 定义学生类

    public class Student {
        private String sid;
        private String name;
        private String age;
        private String address;
    
        public Student() {
    
        }
    
        public Student(String sid, String name, String age, String address){
            this.sid = sid;
            this.name = name;
            this.age = age;
            this.address = address;
        }
    
        public String getSid(){
            return sid;
        }
        public void setSid(String sid){
            this.sid = sid;
        }
    
        public String getName(){
            return name;
        }
        public void setName(String name){
            this.name = name;
        }
    
        public String getAge(){
            return age;
        }
        public void setAge(String age){
            this.age = age;
        }
    
        public String getAddress(){
            return address;
        }
        public void setAddress(String address){
            this.address = address;
        }
    
    }

     1.4 主界面的代码编写

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class StudentManager {
        public static void main(String[] args) {
    
            while (true) {
                System.out.println("………………欢迎来到学生管理系统………………");
                System.out.println("1 添加学生");
                System.out.println("2 删除学生");
                System.out.println("3 修改学生");
                System.out.println("4 查看所有学生");
                System.out.println("5 退出");
                System.out.println("请输入你的选择:");
    
                Scanner sc = new Scanner(System.in);
                String line = sc.nextLine();
    
                switch (line) {
                    case "1":
                        System.out.println("添加学生");
                        break;
                    case "2":
                        System.out.println("删除学生");
                        break;
                    case "3":
                        System.out.println("修改学生");
                        break;
                    case "4":
                        System.out.println("查看所有学生");
                        break;
                    case "5":
                        System.out.println("谢谢使用");
                        System.exit(0);//JVM退出
                }
            }
        }
    }

    运行结果:

    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    4
    查看所有学生
    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    5
    谢谢使用

    1.5 添加学生的代码编写

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class StudentManager {
        public static void main(String[] args) {
            ArrayList<Student> array = new ArrayList<>();
    
            while (true) {
                System.out.println("………………欢迎来到学生管理系统………………");
                System.out.println("1 添加学生");
                System.out.println("2 删除学生");
                System.out.println("3 修改学生");
                System.out.println("4 查看所有学生");
                System.out.println("5 退出");
                System.out.println("请输入你的选择:");
    
                Scanner sc = new Scanner(System.in);
                String line = sc.nextLine();
    
                switch (line) {
                    case "1":
                        //System.out.println("添加学生");
                        addStudent(array);
                        break;
                    case "2":
                        System.out.println("删除学生");
                        break;
                    case "3":
                        System.out.println("修改学生");
                        break;
                    case "4":
                        System.out.println("查看所有学生");
                        break;
                    case "5":
                        System.out.println("谢谢使用");
                        System.exit(0);//JVM退出
                }
            }
        }
    
    
        public static void addStudent(ArrayList<Student> array){
            //录入学生数据
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入学生学号:");
            String sid = sc.nextLine();
            System.out.println("请输入学生姓名:");
            String name = sc.nextLine();
            System.out.println("请输入学生年龄:");
            String age = sc.nextLine();
            System.out.println("请输入学生居住地:");
            String address = sc.nextLine();
    
            //创建学生对象,赋值给成员变量
            Student s = new Student();
            s.setSid(sid);
            s.setName(name);
            s.setAge(age);
            s.setAddress(address);
    
            //添加到集合中
            array.add(s);
            System.out.println("添加学生成功");
        }
     }

    运行结果:

    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    1
    请输入学生学号:
    1
    请输入学生姓名:
    Tom
    请输入学生年龄:
    9
    请输入学生居住地:
    888
    添加学生成功

    1.6 查看学生的代码编写

    public static void findAllStudent(ArrayList<Student> array){
            //显示表头信息
            System.out.println("学号	姓名	年龄	居住地");
    
            //将集合中数据取出按照对应格式显示学生信息
            for (int i=0; i<array.size(); i++){
                Student s = array.get(i);
                System.out.println(s.getSid()+"	"+s.getName()+"	"+s.getAge()+"	"+s.getAddress());
            }
        }
    public static void main(String[] args) {
            ArrayList<Student> array = new ArrayList<>();
    
            while (true) {
                System.out.println("………………欢迎来到学生管理系统………………");
                System.out.println("1 添加学生");
                System.out.println("2 删除学生");
                System.out.println("3 修改学生");
                System.out.println("4 查看所有学生");
                System.out.println("5 退出");
                System.out.println("请输入你的选择:");
    
                Scanner sc = new Scanner(System.in);
                String line = sc.nextLine();
    
                switch (line) {
                    case "1":
                        //System.out.println("添加学生");
                        addStudent(array);
                        break;
                    case "2":
                        System.out.println("删除学生");
                        break;
                    case "3":
                        System.out.println("修改学生");
                        break;
                    case "4":
                        //System.out.println("查看所有学生");
                        findAllStudent(array);
                        break;
                    case "5":
                        System.out.println("谢谢使用");
                        System.exit(0);//JVM退出
                }
            }
    }

    运行结果: 

    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    1
    请输入学生学号:
    1
    请输入学生姓名:
    tom
    请输入学生年龄:
    3
    请输入学生居住地:
    789
    添加学生成功
    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    4
    学号    姓名    年龄    居住地
    1    tom    3    789
    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    5
    谢谢使用

    1.7 查看学生的代码编写升级版

    public static void findAllStudent(ArrayList<Student> array){
            //判断数据
            if (array.size() == 0){
                System.out.println("无信息,请先输入信息");
                //为了让程序不再往下执行,给出return;
                return;
            }
    
            //显示表头信息
            System.out.println("学号	姓名	年龄	居住地");
    
            //将集合中数据取出按照对应格式显示学生信息
            for (int i=0; i<array.size(); i++){
                Student s = array.get(i);
                System.out.println(s.getSid()+"	"+s.getName()+"	"+s.getAge()+"	"+s.getAddress());
            }
    }

    运行结果:

    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    4
    无信息,请先输入信息
    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:

     1.8 删除学生的代码编写

    public static void deleteStudent(ArrayList<Student> array){
            //录入删除学生学号
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入要删除学生的学号:");
            String sid = sc.nextLine();
    
            //遍历集合删除对应学号学生
            for (int i=0; i<array.size(); i++){
                Student s = array.get(i);
                if (s.getSid().equals(sid)){
                    array.remove(i);
                    break;
                }
            }
    
            System.out.println("删除成功");
    }
    public static void main(String[] args) {
            ArrayList<Student> array = new ArrayList<>();
    
            while (true) {
                System.out.println("………………欢迎来到学生管理系统………………");
                System.out.println("1 添加学生");
                System.out.println("2 删除学生");
                System.out.println("3 修改学生");
                System.out.println("4 查看所有学生");
                System.out.println("5 退出");
                System.out.println("请输入你的选择:");
    
                Scanner sc = new Scanner(System.in);
                String line = sc.nextLine();
    
                switch (line) {
                    case "1":
                        //System.out.println("添加学生");
                        addStudent(array);
                        break;
                    case "2":
                        //System.out.println("删除学生");
                        deleteStudent(array);
                        break;
                    case "3":
                        System.out.println("修改学生");
                        break;
                    case "4":
                        //System.out.println("查看所有学生");
                        findAllStudent(array);
                        break;
                    case "5":
                        System.out.println("谢谢使用");
                        System.exit(0);//JVM退出
                }
            }
    }

    运行结果:

    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    1
    请输入学生学号:
    1234
    请输入学生姓名:
    tom
    请输入学生年龄:
    99
    请输入学生居住地:
    7899888
    添加学生成功
    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    2
    请输入要删除学生的学号:
    1234
    删除成功

     1.9 修改学生的代码编写

    public static void updateStudent(ArrayList<Student> array){
            Scanner sc = new Scanner(System.in);
    
            System.out.println("请输入要修改的学生学号:");
            String sid = sc.nextLine();
            System.out.println("请输入修改后的姓名:");
            String name = sc.nextLine();
            System.out.println("请输入修改后的年龄:");
            String ang = sc.nextLine();
            System.out.println("请输入修改后的居住地:");
            String address = sc.nextLine();
    
            Student s = new Student();
            s.setSid(sid);
            s.setName(name);
            s.getAge();
            s.setAddress(address);
    
            for (int i=0; i<array.size(); i++){
                Student s1 = array.get(i);
                if (s1.getSid().equals(sid)){
                    array.set(i,s);
                    break;
                }
            }
    }
    public static void main(String[] args) {
            ArrayList<Student> array = new ArrayList<>();
    
            while (true) {
                System.out.println("………………欢迎来到学生管理系统………………");
                System.out.println("1 添加学生");
                System.out.println("2 删除学生");
                System.out.println("3 修改学生");
                System.out.println("4 查看所有学生");
                System.out.println("5 退出");
                System.out.println("请输入你的选择:");
    
                Scanner sc = new Scanner(System.in);
                String line = sc.nextLine();
    
                switch (line) {
                    case "1":
                        //System.out.println("添加学生");
                        addStudent(array);
                        break;
                    case "2":
                        //System.out.println("删除学生");
                        deleteStudent(array);
                        break;
                    case "3":
                        //System.out.println("修改学生");
                        updateStudent(array);
                        break;
                    case "4":
                        //System.out.println("查看所有学生");
                        findAllStudent(array);
                        break;
                    case "5":
                        System.out.println("谢谢使用");
                        System.exit(0);//JVM退出
                }
            }
    }

    运行结果:

    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    1
    请输入学生学号:
    1234
    请输入学生姓名:
    tom
    请输入学生年龄:
    9
    请输入学生居住地:
    9874
    添加学生成功
    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    3
    请输入要修改的学生学号:
    1234
    请输入修改后的姓名:
    bob
    请输入修改后的年龄:
    874
    请输入修改后的居住地:
    54648

     1.10 解决删除/修改学生学号不存在问题

    public static void deleteStudent(ArrayList<Student> array){
            //录入删除学生学号
            Scanner sc = new Scanner(System.in);
    
            System.out.println("请输入要删除学生的学号:");
            String sid = sc.nextLine();
    
            //判断是否存在,遍历集合删除对应学号学生
            int index = -1;
    
            for (int i=0; i<array.size(); i++){
                Student s = array.get(i);
                if (s.getSid().equals(sid)){
                    index=i;
                    break;
                }
            }
    
            if (index == -1){
                System.out.println("该信息不存在,请重新输入");
            }else{
                array.remove(index);
                System.out.println("删除学生成功");
            }
    }

     1.11 解决添加学生学号重复问题

    public static boolean isUsed(ArrayList<Student> array,String sid){
            boolean flag = false;
    
            for (int i=0; i<array.size(); i++){
                Student s = array.get(i);
                if (s.getSid().equals(sid)){
                    flag = true;
                    break;
                }
            }
    
            return flag;
    }
    public static void addStudent(ArrayList<Student> array){
            //录入学生数据
            Scanner sc = new Scanner(System.in);
    
            //为了让sid在while循环外被使用,把其定义在循环外
            String sid;
    
            //为了让程序能够回到这里,使用循环实现
            while(true){
                System.out.println("请输入学生学号:");
                sid = sc.nextLine();
    
                boolean flag = isUsed(array, sid);
                if (flag){
                    System.out.println("你输入的学号已被使用,请重新输入");
                }else{
                    break;
                }
            }
    
            System.out.println("请输入学生姓名:");
            String name = sc.nextLine();
    
            System.out.println("请输入学生年龄:");
            String age = sc.nextLine();
    
            System.out.println("请输入学生居住地:");
            String address = sc.nextLine();
    
            //创建学生对象,赋值给成员变量
            Student s = new Student();
            s.setSid(sid);
            s.setName(name);
            s.setAge(age);
            s.setAddress(address);
    
            //添加到集合中
            array.add(s);
    
            System.out.println("添加学生成功");
    }

    运行结果:

    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    1
    请输入学生学号:
    1
    请输入学生姓名:
    45
    请输入学生年龄:
    45
    请输入学生居住地:
    45
    添加学生成功
    ………………欢迎来到学生管理系统………………
    1 添加学生
    2 删除学生
    3 修改学生
    4 查看所有学生
    5 退出
    请输入你的选择:
    1
    请输入学生学号:
    1
    你输入的学号已被使用,请重新输入
    请输入学生学号:
  • 相关阅读:
    Pytorch 随机数种子设置
    python 利用 dictionary 的 .get() 操作,避免写 if-else
    PEP-8 or google 风格 python 代码风格和注释规范
    Vim 多文件切换使用
    Shell 变量及脚本使用
    python numpy 大矩阵运算容易内存爆炸
    Ubuntu 配置 Pytorch on Graph (PoG) 环境
    Markdown 学习笔记
    Linux-saltstack
    Python字符串详解
  • 原文地址:https://www.cnblogs.com/ajing2018/p/14642752.html
Copyright © 2011-2022 走看看