0


用Java实现学生管理系统【简化版】基础

🎉博客首页:痛而不言笑而不语的浅伤

📢欢迎关注🥳点赞 👍 收藏 ⭐留言 📝 欢迎讨论!

🔮本文由痛而不言笑而不语的浅伤原创,CSDN首发!

🌋系列专栏:《Java每日一练》

🧿首发时间:2022年6月4日

❤:热爱Java学习,期待一起交流!

🙏🏻作者水平有限,如果发现错误,求告知,多谢!

🥰有问题可以私信交流!!!

目录


2df4d93be38d42318f77570a98672283.gif

** * 标准的IO版学生管理系统

*

    • 分析:
  •     1.定义学生类
    
  •     2.学生管理系统主界面的代码编写
    
  •     3.学生管理系统的查看所有学生的代码编写
    
  •     4.学生管理系统的添加学生的代码编写
    
  •     5.学生管理系统的删除学生的代码编写
    
  •     6.学生管理系统的修改学生的代码编写**
    

** 其实挺简单的,就最基本的Java基础语法部分。很适合初学者练习。其实主要从Java面向对象和IO流的一个熟练掌握。最后是转换成jar文件,通过软件弄成了.exe的文件。执行exe文件就是如下运行结果。数据的保存是在同目录下的TXT文件,需要注意的是TXT文件和可执行的exe文件一定要放在同一文件夹内,不然会报错。**

运行展示

界面初始化

d7fcddbbd3ac470ea06cefff73aec892.gif

public class StudentManagerTest_IO {
    public static void main(String[] args) throws Exception {
        File f1 = new File("‪G:\\学生管理系统\\Student1.txt");
        // 创建持久相对路劲
        String findName = f1.getName();
        // 学生管理系统主界面的代码编写
        // 死循环执行程序
        while (true) {
            System.out.println("----------欢迎使用老马教育学生管理系统----------");
            System.out.println("请输入你要执行的操作:");
            System.out.println("1 查看所有学生");
            System.out.println("2 添加学生");
            System.out.println("3 删除学生");
            System.out.println("4 修改学生");
            System.out.println("5 退出系统");

查看所有学生

d9b21edfba944a17b2d2823f1eda8bdd.gif

// 学生管理系统的查看所有学生的代码编写
    public static void findAllStudent(String findName) throws Exception {
        // 创建集合对象存储学生数据
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 遍历集合到输出控制台
        // 首先判断集合中是否有数据
        if (array.size() == 0) {
            System.out.println("不好意思,目前没有学生信息可供查询,请重新你的选择!");
        } else {
            System.out.println("所有学生信息如下:");
            System.out.println("|-------|-------|-------|-------|");
            System.out.println("|" + "学号" + "\t" + "|" + "姓名" + "\t" + "|" + "年龄" + "\t" + "|" + "地址" + "\t" + "|");
            System.out.println("|-------|-------|-------|-------|");
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);

                System.out.println("|" + s.getId() + "\t" + "|" + s.getName() + "\t" + "|" + s.getAges() + "\t" + "|"
                        + s.getAddress() + "\t" + "|");
                System.out.println("|-------|-------|-------|-------|");
            }
            System.out.println();
            System.out.println();
        }
    }

添加学生

939c5ab9ee2041e489475d5e217726cb.gif

// 学生管理系统的添加学生的代码编写
    public static void addStudent(String findName) throws Exception {
        // 创建存储数据的集合对象
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        String id;
        // 判断该学号是否已被占用
        while (true) {
            // 定义标记
            boolean flag = false;
            // 添加学号
            System.out.println("请您输入要添加的学生学号:");
            id = sc.nextLine();
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);
                if (s.getId().equals(id)) {
                    flag = true;
                    break;
                }
            }
            if (flag) {
                System.out.println("不好意思,你输入的学号已被占用,请你重新你的选择:");
                break;
            } else {
                // 添加姓名
                System.out.println("请您输入学生姓名:");
                String name = sc.nextLine();
                System.out.println("请您输入学生年龄:");
                String ages = sc.nextLine();
                System.out.println("请您输入学生居住地址:");
                String address = sc.nextLine();
                // 创建学生对象
                Student s = new Student();
                s.setId(id);
                s.setName(name);
                s.setAges(ages);
                s.setAddress(address);
                // 把学生对象作为元素添加到集合中
                array.add(s);
                // 调用写数据方法
                writerData(findName, array);
                // 添加成功的提示语
                System.out.println("添加学生信息成功!");
                break;
            }
        }
    }

删除学生

cb91db98b57a4719995731d928af6a1c.gif

// 学生管理系统的删除学生的代码编写
    public static void deleteStudent(String findName) throws Exception {
        // 创建学生数据存储的空集合
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        // 定义标记
        int index = -1;
        // 定义学号变量
        String id;
        // 删除学生信息
        // 数据要删除学生信息的学生学号
        System.out.println("请您输入要删除学生信息的学生学号:");
        id = sc.nextLine();
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            // 判断是否有要删除的这个学号
            if (s.getId().equalsIgnoreCase(id)) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println("您想要删除的学生信息不存在,请重新您的选择!");
        } else {
            array.remove(index);
            // 调用写文件方法
            writerData(findName, array);
            // 提示语
            System.out.println("删除学生信息成功!");

        }
    }

修改学生

c05799c7693c49969972ac9df8d96144.gif

// 学生管理系统的修改学生的代码编写
    public static void alterStudent(String findName) throws Exception {
        // 创建存储学生数据的空集合
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        // 定义标记
        int index = -1;
        // 定义学生学号变量
        String id;
        // 输入学号判断
        while (true) {
            // 输入学号
            System.out.println("请您输入想要修改学生信息的学号:");
            id = sc.nextLine();
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);
                if (s.getId().equals(id)) {
                    index = i;
                }
            }
            if (index == -1) {
                System.out.println("您想要修改的学生信息不存在,请您重新输入学号:");
            } else {
                // 修改姓名
                System.out.println("请您输入学生姓名:");
                String name = sc.nextLine();
                // 修改年龄
                System.out.println("请您输入学生年龄:");
                String ages = sc.nextLine();
                // 修改居住地址
                System.out.println("请您输入居住地址:");
                String address = sc.nextLine();
                // 创建学生对象
                Student s = new Student();
                s.setId(id);
                s.setName(name);
                s.setAges(ages);
                s.setAddress(address);
                // 添加到集合
                array.set(index, s);
                // 调用写文件方法
                writerData(findName, array);
                // 提示语
                System.out.println("修改学生信息成功!");
                break;
            }
        }
    }
}

退出系统

4f7c90a61d32455ab30cb6797cb4f818.gif

// 退出系统
                System.out.println("感谢您的使用,辛苦了!");
                System.exit(0);
                break;

完整源代码

package com.laoma_02;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

/*
 * 标准的IO版学生管理系统
 * 
 * * 分析:
 *         1.定义学生类
 *         2.学生管理系统主界面的代码编写
 *         3.学生管理系统的查看所有学生的代码编写
 *         4.学生管理系统的添加学生的代码编写
 *         5.学生管理系统的删除学生的代码编写
 *         6.学生管理系统的修改学生的代码编写
 *
 * */
public class StudentManagerTest_IO {
    public static void main(String[] args) throws Exception {
        File f1 = new File("‪G:\\学生管理系统\\Student1.txt");
        // 创建持久相对路劲
        String findName = f1.getName();
        // 学生管理系统主界面的代码编写
        // 死循环执行程序
        while (true) {
            System.out.println("----------欢迎使用老马教育学生管理系统----------");
            System.out.println("请输入你要执行的操作:");
            System.out.println("1 查看所有学生");
            System.out.println("2 添加学生");
            System.out.println("3 删除学生");
            System.out.println("4 修改学生");
            System.out.println("5 退出系统");

            // 创建键盘录入对象
            Scanner sc = new Scanner(System.in);
            // 输入所匹配的序号并执行操作
            String option = sc.nextLine();
            switch (option) {
            case "1":
                // 查看所有学生信息
                findAllStudent(findName);
                break;
            case "2":
                // 添加学生信息
                addStudent(findName);
                break;
            case "3":
                // 删除学生信息
                deleteStudent(findName);
                break;
            case "4":
                // 修改学生信息
                alterStudent(findName);
                break;
            case "5":
                // 退出系统
                System.out.println("感谢您的使用,辛苦了!");
                System.exit(0);
                break;
            default:
                System.out.println("您输入的选择不存在,请您重新输入!");
                break;
            }
        }
    }

    // 把文件中的数据读到集合中
    public static void readData(String findName, ArrayList<Student> array) throws Exception {
        // 创建输入缓冲流对象
        BufferedReader br = new BufferedReader(new FileReader(findName));
        // 创建数组读取文本文件数据并按照执行格式分割,然后把读取的数据作为元素存储到集合,最后遍历集合到输出控制台
        // 定义索引
        String line;
        while ((line = br.readLine()) != null) {
            // 读取文本文件数据并按照执行格式分割
            String[] strArray = line.split(",");
            // 创建学生对象
            Student s = new Student();
            s.setId(strArray[0]);
            s.setName(strArray[1]);
            s.setAges(strArray[2]);
            s.setAddress(strArray[3]);
            // 把读取的数据作为元素存储到集合
            array.add(s);
        }
        // 释放资源你
        br.close();
    }

    // 把集合中的数据写入文件中
    public static void writerData(String findName, ArrayList<Student> array) throws Exception {
        // 创建输出缓冲流对象
        BufferedWriter bw = new BufferedWriter(new FileWriter(findName));

        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            StringBuilder sb = new StringBuilder();
            sb.append(s.getId()).append(",").append(s.getName()).append(",").append(s.getAges()).append(",")
                    .append(s.getAddress());
            bw.write(sb.toString());
            bw.newLine();
            bw.flush();
        }
        // 释放资源
        bw.close();
    }

    // 学生管理系统的查看所有学生的代码编写
    public static void findAllStudent(String findName) throws Exception {
        // 创建集合对象存储学生数据
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 遍历集合到输出控制台
        // 首先判断集合中是否有数据
        if (array.size() == 0) {
            System.out.println("不好意思,目前没有学生信息可供查询,请重新你的选择!");
        } else {
            System.out.println("所有学生信息如下:");
            System.out.println("|-------|-------|-------|-------|");
            System.out.println("|" + "学号" + "\t" + "|" + "姓名" + "\t" + "|" + "年龄" + "\t" + "|" + "地址" + "\t" + "|");
            System.out.println("|-------|-------|-------|-------|");
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);

                System.out.println("|" + s.getId() + "\t" + "|" + s.getName() + "\t" + "|" + s.getAges() + "\t" + "|"
                        + s.getAddress() + "\t" + "|");
                System.out.println("|-------|-------|-------|-------|");
            }
            System.out.println();
            System.out.println();
        }
    }

    // 学生管理系统的添加学生的代码编写
    public static void addStudent(String findName) throws Exception {
        // 创建存储数据的集合对象
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        String id;
        // 判断该学号是否已被占用
        while (true) {
            // 定义标记
            boolean flag = false;
            // 添加学号
            System.out.println("请您输入要添加的学生学号:");
            id = sc.nextLine();
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);
                if (s.getId().equals(id)) {
                    flag = true;
                    break;
                }
            }
            if (flag) {
                System.out.println("不好意思,你输入的学号已被占用,请你重新你的选择:");
                break;
            } else {
                // 添加姓名
                System.out.println("请您输入学生姓名:");
                String name = sc.nextLine();
                System.out.println("请您输入学生年龄:");
                String ages = sc.nextLine();
                System.out.println("请您输入学生居住地址:");
                String address = sc.nextLine();
                // 创建学生对象
                Student s = new Student();
                s.setId(id);
                s.setName(name);
                s.setAges(ages);
                s.setAddress(address);
                // 把学生对象作为元素添加到集合中
                array.add(s);
                // 调用写数据方法
                writerData(findName, array);
                // 添加成功的提示语
                System.out.println("添加学生信息成功!");
                break;
            }
        }
    }

    // 学生管理系统的删除学生的代码编写
    public static void deleteStudent(String findName) throws Exception {
        // 创建学生数据存储的空集合
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        // 定义标记
        int index = -1;
        // 定义学号变量
        String id;
        // 删除学生信息
        // 数据要删除学生信息的学生学号
        System.out.println("请您输入要删除学生信息的学生学号:");
        id = sc.nextLine();
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            // 判断是否有要删除的这个学号
            if (s.getId().equalsIgnoreCase(id)) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println("您想要删除的学生信息不存在,请重新您的选择!");
        } else {
            array.remove(index);
            // 调用写文件方法
            writerData(findName, array);
            // 提示语
            System.out.println("删除学生信息成功!");

        }
    }

    // 学生管理系统的修改学生的代码编写
    public static void alterStudent(String findName) throws Exception {
        // 创建存储学生数据的空集合
        ArrayList<Student> array = new ArrayList<Student>();
        // 调用读数据方法
        readData(findName, array);
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        // 定义标记
        int index = -1;
        // 定义学生学号变量
        String id;
        // 输入学号判断
        while (true) {
            // 输入学号
            System.out.println("请您输入想要修改学生信息的学号:");
            id = sc.nextLine();
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);
                if (s.getId().equals(id)) {
                    index = i;
                }
            }
            if (index == -1) {
                System.out.println("您想要修改的学生信息不存在,请您重新输入学号:");
            } else {
                // 修改姓名
                System.out.println("请您输入学生姓名:");
                String name = sc.nextLine();
                // 修改年龄
                System.out.println("请您输入学生年龄:");
                String ages = sc.nextLine();
                // 修改居住地址
                System.out.println("请您输入居住地址:");
                String address = sc.nextLine();
                // 创建学生对象
                Student s = new Student();
                s.setId(id);
                s.setName(name);
                s.setAges(ages);
                s.setAddress(address);
                // 添加到集合
                array.set(index, s);
                // 调用写文件方法
                writerData(findName, array);
                // 提示语
                System.out.println("修改学生信息成功!");
                break;
            }
        }
    }
}

最后呢?文章到这里就结束啦,你们学废了吗?

好啦!今天的练习就到这里。看吧这么努力的你又学到了很多,新的一天加油鸭!!!


你的点赞是对我最大的鼓励。

你的收藏是对我文章的认可。

你的关注是对我创作的动力。


本文转载自: https://blog.csdn.net/weixin_65657777/article/details/125125548
版权归原作者 痛而不言笑而不语的浅伤 所有, 如有侵权,请联系我们删除。

“用Java实现学生管理系统【简化版】基础”的评论:

还没有评论