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

article/2025/9/28 9:55:41

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

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

🔮本文由痛而不言笑而不语的浅伤原创,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;}}}
}

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

 

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


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

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

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

 

 


http://chatgpt.dhexx.cn/article/ntY38BUl.shtml

相关文章

java 学生信息管理系统

只设计了一部分 全部的太多了。会慢慢更新增加。 学生信息管理包括添加&#xff0c;删除&#xff0c;修改&#xff0c;查询&#xff0c;显示全部等 具体结构如图 在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言 在sql server 2005新建一个名…

基于java的学生成绩管理系统

本管理系统具有以下功能&#xff1a; 1、学生功能&#xff1a;个人信息查询、修改&#xff1b;成绩查询&#xff1b;修改密码  2、教师功能&#xff1a;学生信息查询&#xff1b;打分&#xff1b;个人信息查询、修改&#xff0c;修改密码  3、管理员功能&#xff1a;教师信…

Java简单学生管理系统

学习了一段时间了。是时候写一个程序来检验一下学习的成果了。 七夕让我们一起new对象。 ok&#xff0c;首先我们来看一下需求。 简单的学生信息管理系统&#xff0c;通过键盘选择操作进行添加学生&#xff08;学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#x…

用Java实现学生管理系统(附项目详细的介绍和源代码)

前言&#xff1a;最近练习了用Java语言实现简单的学生管理系统小项目&#xff0c;分享一下。 Ps&#xff1a;原创不易&#xff0c;请多多支持&#xff01; 摘要分析如下&#xff1a; 实现的主要功能&#xff1a; 1&#xff0c;添加学生信息。 2&#xff0c;查询学生信息(实现…

Java设计学生成绩管理系统

1.1 题目与要求 设计一个学生成绩排名系统 实现以下功能&#xff1a; (1) 具备对成绩的管理功能&#xff08;添加、删除、排序&#xff09;&#xff1b; (2) 具备对成绩的统计功能&#xff08;最高分&#xff0c;最低分&#xff0c;平均分&#xff0c;及格率等&#xff09;…

Java 学生成绩管理系统

教学管理系统很适合初学者对于所学语言的练习。本文是javaSE 中用文件流写的&#xff0c;这个也可以用数据库写。 分析 这个项目有 1.学生 2.老师 3.教务人员 4.管理员四个角色分别担任不同的任务。 1.学生 有属性 id, 密码&#xff0c;性别&#xff0c;年龄&#xff0c;和一…

Java基础——学生管理系统

用内存存储学生信息。(采用集合的方式&#xff09; 步骤&#xff1a; A. 定义学生类 B. 学生管理系统的主界面的代码编写 C. 学生管理系统的查看所有学生的代码编写 D. 学生管理系统的添加学生的代码编写 E. 学生管理系统的删除学生的代码编写 F. 学生管理系统的修改学生的代码…

学生管理系统(Java版)

学生管理系统&#xff08;Java版&#xff09; 前言&#xff1a;这个是大二做的课设&#xff08;还是学生管理系统…&#xff09;&#xff0c;理论上虽然是4个人一组一起做的&#xff0c;但是&#xff0c;注意这个“但是”&#xff0c;还是我一个人承担了所有…代码和文档基本都…

Java 版学生成绩管理系统,附源码

前言 对于计算机专业的学生来讲&#xff0c;一定对于学生成绩管理系统课程设计十分印象深刻。设计、上机、编码、写报告、答辩等一系列流程&#xff0c;虽然很简单&#xff0c;但也可以综合运用我们所学的一些知识了。 今天就来复习以下这个课题&#xff0c;用 Java SE 来实现…

用Java实现一个学生管理系统(附源码)

目录 一、题目要求 二、设计思路 &#xff08;2&#xff09;代表课程的类——Course类 &#xff08;3&#xff09;具体功能实现类——Function类 &#xff08;4&#xff09;测试类——Test类 三、代码实现 &#xff08;1&#xff09;Student.java文件 &#xff08;2&…

Java实现学生管理系统(完整代码)

案例需求 完成一个综合案例&#xff1a;学生管理系统&#xff01;该系统主要功能如下&#xff1a; 添加学生&#xff1a;通过键盘录入学生信息&#xff0c;添加到集合中 删除学生&#xff1a;通过键盘录入要删除学生的学号&#xff0c;将该学生对象从集合中删除 修改学生&…

Java学生信息管理系统

一、选题设计思想 学生信息管理系统是典型的信息管理系统(MIS)&#xff0c;其开发主要包括后台数据库的建立和维护以及前端应用程序的开发。对于前者要求建立起数据一致性和完整性强、安全性高的数据库&#xff1b;对于后者则要求应用程序具有功能完备、易使用、易维护等特点。…

学生管理系统(Java实现)

一、学生信息管理程序 基本要求&#xff1a; 1&#xff0e;要求实现学生信息的使用添加、查找、删除、修改等几个功能&#xff0c;每个功能模块均能实现从模块中退出&#xff0c;从而完成一个学生管理系统所需功能。 2&#xff0e;要使用结构体来实现对学生信息的存储。 3&am…

【JAVA】学生信息管理系统

目录 前言 一、环境搭建 二、功能实现 1.学生信息类的创建 2.学生信息的添加功能 3.学生信息的删除功能 4.学生信息的修改功能 5.学生信息的查看功能 三、主类的调用 1.界面的搭建 2.学生端和教师端 3.系统和功能的选择 总结 前言 JAVA实现的学生信息管理…

Java 学生管理系统(详解)

文章目录 学生类main方法首界面登录功能选择界面添加学生信息删除学生信息修改学生信息查看学生信息 学号遍历 和 清空控制台方法附&#xff1a;学生管理系统代码Student .JavaMain.JavaFunctionModule.javaExtents.Java 总结 下面会分享我在做这个练习时的一些方法以及程序代码…

【超详细】Java实现学生信息管理系统

项目介绍&#xff1a;用java实现学生信息的管理&#xff0c;其中录入的数据包括&#xff1a;学号、姓名、年龄、居住地等&#xff0c;并且能够实现对学生信息的添加、修改、删除、查看功能。 一、创建项目 1、项目名称&#xff1a;myStudentManager 二、创建包 1、包名称&a…

基于JAVA实现的简易学生信息管理系统(附源码)

一、前言 最近在学习JAVA&#xff0c;这几天跟着网上的视频学完基础知识之后&#xff0c;做了一个学生信息管理系统&#xff0c;写的比较普通&#xff0c;没太大亮点&#xff0c;希望可以给初学者一些参考经验&#xff0c;另外&#xff0c;如有不恰当的地方还请各位指正&am…

java学生管理系统(简单版)

简单实现学生信息添加、删除&#xff0c;修改、查询功能。根据需求&#xff0c;创建一个学生类和学生管理类&#xff0c;用容器存储学生信息&#xff0c;这里用到ArrayList<E>(ArrayList类是一个可动态修改的数组&#xff0c;使用之前需要导包import java.util.ArrayList…

Keil打开工程时,解决“Loading PDSC Debug Description Failed”错误

网上搜到一个方法是&#xff0c;把Keil.STM32Lxxx_DFP.pdsc文件中&#xff0c;删除行“Message(2, "Not a genuine ST Device! Abort connection.");”&#xff0c; 这个方法属于掩耳盗铃&#xff0c;只是不让他弹出错误而已。 正确的解决方法是&#xff0c;安装与…

STM32 Keil新建工程报错“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”

在使用STM32L0xx系列和STM32L4xx系列的单片机时都遇到了打开keil工程报“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”错误的问题&#xff0c;具体现象和解决方法如下图文所示&#xff1a; 找到keil的Build Output窗口提示的File路径&#x…