• 学生管理系统CLI版


    学生管理系统CLI版

    学生类

    package com.itheima_03;
    
    public class Student {
        String sid;
        String name;
        String age;
        String 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;
        }
    
        public Student(String sid, String name, String age, String address) {
            this.sid = sid;
            this.name = name;
            this.age = age;
            this.address = address;
        }
    
        public Student() {
        }
    
    
    }
    

    主函数

    package com.itheima_03;
    
    import javax.swing.plaf.synth.SynthEditorPaneUI;
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class StudentManager {
        public static void main(String[] args) {
            //创建一个集合存储学生对象
            ArrayList<Student> array =  new ArrayList<Student>();
    
            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.print("请输入你的选择:");
    
            //用Scanner录入数据
            Scanner sc = new Scanner(System.in);
            String choice = sc.nextLine();
    
    
    
            switch (choice){
                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("********查看所有学生********");
                    showAllStudent(array);
                    break;
                case "5":
                    System.out.println("谢谢使用");
    //                break;
                        System.exit(0);//JVM退出
    
    
            }
    
        }
        }
        //定义一个方法,用于添加学生信息
        public static void addStudent(ArrayList<Student> array){
            //通过键盘录入数据
            Scanner sc = new Scanner(System.in);
            //录入学生信息
            System.out.print("请输入学生学号:");
            String sid = sc.nextLine();
            while (true) {
                if (isUsed(array, sid)) {
                    System.out.println("您输入的学号已经存在!请重新输入");
                    sid = sc.nextLine();
                }else {
                    break;
                }
            }
    
            System.out.print("请输入学生姓名:");
            String name = sc.nextLine();
            System.out.print("请输入学生年龄:");
            String age = sc.nextLine();
            System.out.print("请输入学生住址:");
            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("添加学生信息成功!");
    
        }
        //定义一个方法,用于显示全部学生信息
        public static void showAllStudent(ArrayList<Student> array){
            //判断集合中是否有元素,如果没有给出提示信息
            if (array.size() == 0){
                System.out.println("目前没有信息,请试试添加一下吧~");
                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());
            }
        }
        //定义一个方法,用于删除学生信息
        public static void deleteStudent(ArrayList<Student> array){
            //提示用户输入所要删除学生的学号
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入你要删除的学生学号:");
            String line = sc.nextLine();
    
            //遍历集合,找到对应的学生并删除
            //建立一个索引来判断所要删除的学生是否在集合内
            int index = -1;
            for (int i = 0;i < array.size();i++){
                Student s = array.get(i);
                if (s.getSid().equals(line)){   //字符串进行比较用equals()
                    index = i;
                    break;
                }
            }
            if(index == -1){
                System.out.println("该学生不存在!");
            }else {
                array.remove(index);
                //给出提示消息
                System.out.println("删除成功!");
            }
    
        }
        //定义一个方法,用户修改学生信息
        public static void updateStudent(ArrayList<Student> array){
            //键盘录入要修改的学生学号
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入你要修改的学生的学号:");
            String sid = sc.nextLine();
    
            //创建一个新对象并提示用户输入其信息
            Student s_new = new Student();
            System.out.print("请输入学生新姓名:");
            String name = sc.nextLine();
            System.out.print("请输入学生新年龄:");
            String age = sc.nextLine();
            System.out.print("请输入学生新住址:");
            String address = sc.nextLine();
    
            //赋值给新对象
            s_new.setSid(sid);
            s_new.setName(name);
            s_new.setAge(age);
            s_new.setAddress(address);
    
            //遍历集合,找到旧对象并用新对象进行替换
            for (int i = 0;i < array.size();i++){
                Student s = array.get(i);
                if (s.getSid().equals(sid)){
                    array.set(i,s_new);//根据索引用s_new进行替换
                    break;
                }
    
            }
    
            //给出提示信息
    
            System.out.println("修改学生信息成功!");
        }
        //定义一个方法,用来判断学号是否重复
        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;
                }else {
                    continue;
                }
            }
            //返回标志位
            return flag;
        }
    }
    
  • 相关阅读:
    ORACLE MOS 翻译
    Oracle内部latch获取函数简介
    oracle cost
    oracle function dtrace
    Oracle hidden costs revealed, Part2 – Using DTrace to find why writes in SYSTEM tablespace are slower than in others
    DTrace Oracle Database
    Oracle8i Internal Services
    oceanbase 分布式数据库
    中国国家安全漏洞库
    interesting-exploit
  • 原文地址:https://www.cnblogs.com/icyhblog/p/14106649.html
Copyright © 2020-2023  润新知