首页 > 编程语言 >学生管理系统(Java版)!!!

学生管理系统(Java版)!!!

时间:2024-06-10 18:06:19浏览次数:22  
标签:Java 管理系统 students System 学生 println id out

基于java的学生管理系统很少,今天就给大家实现一下吧!!!效果图如下:

1、需求分析:

1.1 录入学生信息:

        我们需要将学生的学号姓名,年龄,性别家庭住址录入到我们的学生表里面,以便我们进行后续操作。

1.2 显示所有学生信息:

        显示方式:将学生表的所有学生信息遍历输出即可。

1.3 删除学生信息:

        删除方式:学号 。通过对删除指定学生学号将这个学生信息从学生表当中删除。

1.4 修改学生信息:

        修改方式:学号。通过对指定学号将该学生的姓名C语言成绩java成绩以及高数成                    修改。

       

1.5 统计学生的总人数:

        统计方式:统计学生表的学生信息个数即可。

一、菜单

方法如下:

public static void showMenu() {
        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("-----------6.展示学生信息------------");
        System.out.println("-----------7.退出系统------------");
    }

二、添加学生

方法如下:

public static ArrayList<Student> addStudent(ArrayList<Student> students) {

        Student s = new Student();
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生姓名");
        String name = scanner.next();
        s.setName(name);
        System.out.println("请输入学生年龄");
        int age = scanner.nextInt();
        s.setAge(age);
        System.out.println("请输入学生性别");
        String gender = scanner.next();
        s.setGender(gender);

        while (true) {
            System.out.println("请输入学生学号");
            int id = scanner.nextInt();
            boolean flag = cheakId(students, id);
            if (flag) {
                System.out.println("该学号已存在,请重新输入");
            } else {
                s.setId(id);
                break;
            }
        }
        System.out.println("请输入学生家庭住址");
        String address = scanner.next();
        s.setAddtress(address);
        students.add(s);
        System.out.println("学生信息录入成功");
        return students;
    }

三、显示学生

方法如下:

public static void showStudent(ArrayList<Student> students) {

        if (students.isEmpty()) {
            System.out.println("暂无学生信息");
            return;
        }
        System.out.println("-----------学生信息------------");
        System.out.println("学号\t" + "\t" + "\t" + "姓名\t" + "\t" + "\t" + "年龄\t" + "\t" + "\t" + "性别\t" + "\t" + "\t" + "家庭住址" + "\t" + "\t");
        for (Student student : students) {
            System.out.print(student.getId() + "\t");
            System.out.print(student.getName() + "\t");
            System.out.print(student.getAge() + "\t");
            System.out.print(student.getGender() + "\t");
            System.out.print(student.getAddtress() + "\t");
            System.out.println();
        }
    }

四、修改学生

方法如下:

public static void updateStudent(ArrayList<Student> students) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要修改的学生的学号");
        int id = scanner.nextInt();

        if (cheakId(students, id)) {
            //id存在
            for (Student student : students) {

                if (student.getId() == id) {
                    System.out.println("请输入新的姓名");
                    student.setName(scanner.next());
                    System.out.println("请输入新的年龄");
                    student.setAge(scanner.nextInt());
                    System.out.println("请输入新的性别");
                    student.setGender(scanner.next());
                    System.out.println("请输入新的学号");
                    student.setId(scanner.nextInt());
                    System.out.println("请输入新的家庭住址");
                    student.setAddtress(scanner.next());
                    System.out.println("修改成功");
                    return;
                }
            }


            //id存在
        } else {
            //id不存在

            System.out.println("没有找到该学生");
        }

    }
}

五、删除学生

方法如下:

public static void deleteStudent(ArrayList<Student> students) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的学生的学号");
        int id = scanner.nextInt();

        if (cheakId(students, id)) {

            for (int i = 0; i < students.size(); i++) {
                if (students.get(i).getId() == id) {
                    students.remove(i);
                    System.out.println("删除成功");
                    return;
                }
            }
        } else {

            System.out.println("没有找到该学生");
        }
    }

六、根据学号查看学生(比如修改,删除之前,就要先查询)

方法如下:

public static boolean cheakId(ArrayList<Student> list, int id) {
        for (Student student : list) {
            if (student.getId() == id) {

                return true;
            }
        }
        return false;
    }

 七、统计学生

方法如下:

private static void countStudent(ArrayList<Student> students) {
        System.out.println(STR."-----------学生总数为:\{students.size()}------------");

    }

八、main方法

public static void main(String[] args) {
        ArrayList<Student> students = new ArrayList<>();

        Scanner sc = new Scanner(System.in);
        String choice;
        while (true) {
            showMenu();
            System.out.println("请输入您的选择:");
            choice = sc.next();

            switch (choice) {

                case "1":
                    // 添加学生
                    addStudent(students);
                    break;
                case "2":
                    // 删除学生
                    deleteStudent(students);

                    break;
                case "3":
                    // 修改学生信息
                    updateStudent(students);

                    break;
                case "4":
                    // 查询学生信息
                    showStudent(students);

                    break;

                case "5":
                    // 统计学生总数
                    countStudent(students);
                    break;


                case "6":
                    System.out.println("感谢您的使用,再见");
                    System.exit(0);
                default:
                    System.out.println("输入有误,请重新输入");
            }
        }

    }

以上便是简单版学生管理系统的实现方法,下面是总体代码:

package SudentManger.Student;

import java.util.ArrayList;
import java.util.Scanner;

public class Student {
    private String name;
    private int age;
    private String gender;
    private static int id;
    private String addtress;

    public Student() {
    }

    public Student(String name, int age, String gender, int id, String addtress) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.id = id;
        this.addtress = addtress;
    }

    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 getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAddtress() {
        return addtress;
    }

    public void setAddtress(String addtress) {
        this.addtress = addtress;
    }


    public static void main(String[] args) {
        ArrayList<Student> students = new ArrayList<>();

        Scanner sc = new Scanner(System.in);
        String choice;
        while (true) {
            showMenu();
            System.out.println("请输入您的选择:");
            choice = sc.next();

            switch (choice) {

                case "1":
                    // 添加学生
                    addStudent(students);
                    break;
                case "2":
                    // 删除学生
                    deleteStudent(students);

                    break;
                case "3":
                    // 修改学生信息
                    updateStudent(students);

                    break;
                case "4":
                    // 查询学生信息
                    showStudent(students);

                    break;

                case "5":
                    // 统计学生总数
                    countStudent(students);
                    break;


                case "6":
                    System.out.println("感谢您的使用,再见");
                    System.exit(0);
                default:
                    System.out.println("输入有误,请重新输入");
            }
        }

    }


    private static void countStudent(ArrayList<Student> students) {
        System.out.println(STR."-----------学生总数为:\{students.size()}------------");

    }

    //菜单
    public static void showMenu() {
        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("-----------6.展示学生信息------------");
        System.out.println("-----------7.退出系统------------");
    }

    //添加学生
    public static ArrayList<Student> addStudent(ArrayList<Student> students) {

        Student s = new Student();
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生姓名");
        String name = scanner.next();
        s.setName(name);
        System.out.println("请输入学生年龄");
        int age = scanner.nextInt();
        s.setAge(age);
        System.out.println("请输入学生性别");
        String gender = scanner.next();
        s.setGender(gender);

        while (true) {
            System.out.println("请输入学生学号");
            int id = scanner.nextInt();
            boolean flag = cheakId(students, id);
            if (flag) {
                System.out.println("该学号已存在,请重新输入");
            } else {
                s.setId(id);
                break;
            }
        }
        System.out.println("请输入学生家庭住址");
        String address = scanner.next();
        s.setAddtress(address);
        students.add(s);
        System.out.println("学生信息录入成功");
        return students;
    }

    //显示学生信息
    public static void showStudent(ArrayList<Student> students) {

        if (students.isEmpty()) {
            System.out.println("暂无学生信息");
            return;
        }
        System.out.println("-----------学生信息------------");
        System.out.println("学号\t" + "\t" + "\t" + "姓名\t" + "\t" + "\t" + "年龄\t" + "\t" + "\t" + "性别\t" + "\t" + "\t" + "家庭住址" + "\t" + "\t");
        for (Student student : students) {
            System.out.print(student.getId() + "\t");
            System.out.print(student.getName() + "\t");
            System.out.print(student.getAge() + "\t");
            System.out.print(student.getGender() + "\t");
            System.out.print(student.getAddtress() + "\t");
            System.out.println();
        }
    }

    //根据学号查看学生
    public static boolean cheakId(ArrayList<Student> list, int id) {
        for (Student student : list) {
            if (student.getId() == id) {

                return true;
            }
        }
        return false;
    }

    //删除学生信息
    public static void deleteStudent(ArrayList<Student> students) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的学生的学号");
        int id = scanner.nextInt();

        if (cheakId(students, id)) {

            for (int i = 0; i < students.size(); i++) {
                if (students.get(i).getId() == id) {
                    students.remove(i);
                    System.out.println("删除成功");
                    return;
                }
            }
        } else {

            System.out.println("没有找到该学生");
        }
    }

    //修改学生信息
    public static void updateStudent(ArrayList<Student> students) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要修改的学生的学号");
        int id = scanner.nextInt();

        if (cheakId(students, id)) {
            //id存在
            for (Student student : students) {

                if (student.getId() == id) {
                    System.out.println("请输入新的姓名");
                    student.setName(scanner.next());
                    System.out.println("请输入新的年龄");
                    student.setAge(scanner.nextInt());
                    System.out.println("请输入新的性别");
                    student.setGender(scanner.next());
                    System.out.println("请输入新的学号");
                    student.setId(scanner.nextInt());
                    System.out.println("请输入新的家庭住址");
                    student.setAddtress(scanner.next());
                    System.out.println("修改成功");
                    return;
                }
            }


            //id存在
        } else {
            //id不存在

            System.out.println("没有找到该学生");
        }

    }
}

注:复制粘贴的同学注意一下包名和类名

 

标签:Java,管理系统,students,System,学生,println,id,out
From: https://blog.csdn.net/qq_54839572/article/details/139356472

相关文章

  • 【个人作品案例展示】基于Java的晋城中学宿舍管理系统的设计与实现
    摘要:宿舍是中学生学习和生活起居的重要场所,对学生的学习状态和人格品格的培养都起着积极的影响。学生宿舍的合理分配与住宿信息的高效管理等工作,是学校所有后勤管理工作的重心。不合理的宿舍分配方案容易造成床位相关资源的浪费等表层问题,更容易导致学生因个人习惯不同而产......
  • JavaScript-if多分支语句和switch的区别
    学习目标:掌握if多分支语句和switch的区别学习内容:if多分支语句和switch的区别if多分支语句和switch的区别:共同点1.都能实现多分支选择,多选一。2.大部分情况下可以互换。区别switch..case语句if...else...语句通常处理case为比较确定值的情况更加灵活,通常用于范......
  • Java——方法详细介绍
    一、方法调用机制1、方法调用机制详细介绍下面对方法调用在内存中的情况进行分析,以下面的代码为例:publicclassTest{ publicstaticvoidmain(String[]args){ Personperson=newPerson();person.name="张三";person.age=18; intres=p......
  • 探索JavaScript调试技巧与工具
    ......
  • 【Java】SpringBoot 实现文件的上传与下载、日志记录、参数校验等(含代码示例)
    ......
  • Java8 Stream完全使用指南
    什么是StreamStream是Java1.8版本开始提供的一个接口,主要提供对数据集合使用流的方式进行操作,流中的元素不可变且只会被消费一次,所有方法都设计成支持链式调用。使用StreamAPI可以极大生产力,写出高效率、干净、简洁的代码。如何获得Stream实例Stream提供了静态构建方法,可以基......
  • Java18新特性
    Java18是Java语言的一个版本,于2022年3月22日正式发布。这个版本虽然不是一个长期支持(LTS)版本,但它带来了一些重要的新特性和改进,以下是一些主要的新特性:1.JEP400:UTF-8byDefault(默认字符集为UTF-8):Java18将UTF-8设置为JDKAPI和命令行工具的默认字符编码,......
  • Java学习-JDBC(五)
    JDBC优化及工具类封装现有问题①创建连接池②获取连接③连接回收ThreadLocal为解决多线程程序的并发问题提供了一种新的思路,使用这个工具类可以很简洁地编写出优美的多线程程序,通常用在多线程中管理共享数据库连接、Session等ThreadLocal用于保存某个线程共享变量,原因是......
  • Java学习-JDBC(四)
    连接池现有问题每次操作数据库都需要重新获取新连接,使用完毕后需close释放,频繁的创建和销毁造成资源浪费连接的数量无法把控,对服务器造成巨大压力连接池连接池是数据库连接对象的缓冲区,通过配置,由连接池负责创建连接,管理连接,释放连接等操作预先创建数据库连接放入连接池......
  • 1900springboot VUE 生态菜园管理系统开发mysql数据库web结构java编程计算机网页源码m
    一、源码特点 springbootVUE生态菜园管理系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSPjava编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。前段主要技术vue 后端主......