学生成绩管理系统(java语言)
基于java的学生成绩管理系统

一 、 霄青 对 于每一个高 校,学生工作管理和 教学质量管理 很大程度来 说都是依靠 学生成 绩管理来实现的,因此学生成绩管理的重要的不言而喻 。传统的学生信 息管理 停留在档案或是一些传统方式上 ,这样的管理方式效率低 、管理起来难 度大 、信息不 易更新 ,例如一些学生因为个人原因调班或是基本信 息需要修改, 传统管理方 式都不能够 快速及时地进行,这样使得学生信息管理工作不够及时 有效 。现在利用基 于 java的学 生成绩 管理系统能够 大大免除这样 的烦恼,其 利用信 息技术的便捷 、及时的特 点,为学生信息进行及时有效的配置,为学校 的学生管理工作提供 了行之有效的方法 = 、系统功蠢优点 Java语言是一种简单的、分布式的、安全的动态语言,根据 java创建的 信息系统 功能强大、安全性高,能够根据 学校 的具体需求进行分析 ,创建满足 学校需求的模块,总的来说具备下列几项优点。
学生运用物理概念解决 问题是表现 出来 。例如 : “探究动能大小与哪些因素有 关 ”,很 多同学认 为质量不 同的小车从光滑斜面 同一 高度 由静止下滑至斜面底
端 时, “质量大 的小车速度大 ”错误 认知,可采用下 列解决措旖 :让一个大石 块和一个小石块从 四楼 由静止 同时下落 ,比较它们落地先后 ,从而建立正确认 识 。再如 :日常生活中受普通纸张很容 易被火点燃 ,学生对纸锅烧水产生怀疑,
基于 j ava的学生成绩 管理系统
430064 湖北 工业 大 学 胡 勇
擅 曩 :高校教 育中有一项是学生成绩管理,而学生成绩管理 引起 复杂、数据量 大的特 点给 学生成绩管理带来一定难度。使用基 于 java的学生成绩管理 系 统有效提 高了各方处理 学生信 息的效率 ,为管理者更好地进行学生工作 管理提供 了一个有效途径 。因此本文就将简单介绍基于 java的学生成绩管理 系统的优点及 系统 结构 。
java编写学生学分管理系统设计与实现代码

java编写学生学分管理系统设计与实现代码学生学分管理系统是一款非常实用的软件,它可以帮助学生管理自己的课程、成绩和学分,让学生更好地了解自己的学习情况,提高学习成绩。
本文将详细介绍学生学分管理系统的设计与实现代码。
一、需求分析首先,我们需要进行需求分析,明确学生学分管理系统的功能。
(1)课程管理:学生可以通过该功能添加、修改、删除自己选择的课程信息,包括课程名称、授课教师、学分、考核方式等。
(2)成绩管理:学生可以通过该功能录入自己的成绩信息,并查看自己的历次考试成绩,以及对应的成绩单。
(3)学分管理:学生可以通过该功能查看自己已经取得的学分和还需取得的学分。
(4)用户管理:学生可以通过该功能修改自己的账号密码、个人信息等。
管理员可以添加、删除、修改学生的账号信息和个人信息。
二、系统设计经过需求分析,我们可以开始进行系统设计,设计思路如下:(1)数据库设计:设计一个学生信息表,包括学生的基本信息,如姓名、学号、所属学院、专业等,以及学生选修的课程信息和成绩信息。
(2)界面设计:设计一个简洁、直观的用户界面,方便学生进行操作。
界面需要包括主界面、添加课程界面、录入成绩界面、学分管理界面和用户管理界面等。
(3)功能设计:根据需求分析中的功能需求,设计相应的代码实现。
三、代码实现下面是学生学分管理系统的代码实现示例,为了简化代码,这里只展示了课程管理和成绩管理的代码:1. 课程管理代码// 添加课程信息public void addCourse(String courseName, String teacherName, double credit, String examType) {Course course = new Course(courseName, teacherName, credit, examType);// 将新添加的课程信息插入到数据库中db.insert(course);System.out.println("成功添加课程:" + courseName);}// 修改课程信息public void updateCourse(String courseName, String teacherName, double credit, String examType) {// 根据课程名称从数据库中查询课程信息Course course = db.queryCourseByName(courseName);course.setTeacherName(teacherName);course.setCredit(credit);course.setExamType(examType);// 更新课程信息到数据库中db.update(course);System.out.println("成功修改课程:" + courseName);}// 删除课程信息public void deleteCourse(String courseName) {// 根据课程名称从数据库中查询课程信息Course course = db.queryCourseByName(courseName);// 从数据库中删除课程信息db.delete(course);System.out.println("成功删除课程:" + courseName);}2. 成绩管理代码// 录入成绩public void enterScore(String courseName, double score) { // 根据课程名称查询课程信息Course course = db.queryCourseByName(courseName);// 查询当前学生信息Student student = db.queryStudentById(this.id);// 将成绩信息插入到数据库中Score scoreObj = new Score(student, course, score);db.insert(scoreObj);System.out.println("成功录入成绩,课程:" + courseName + " 成绩:" + score);}// 查询成绩单public void queryScoreSheet() {// 查询当前学生的成绩信息List<Score> scoreList =db.queryScoreByStudent(this.id);// 输出成绩单信息System.out.println("成绩单:");for (Score score : scoreList) {Course course = score.getCourse();System.out.println("课程名称:" +course.getCourseName() + " 成绩:" + score.getScore());}}四、总结以上就是学生学分管理系统的设计与实现过程,完整功能的代码请参考具体实现。
java项目经验案例

java项目经验案例Java项目经验案例一:学生成绩管理系统项目描述:学生成绩管理系统是一个用于管理学生信息和成绩的系统。
该系统具有以下功能:学生信息的添加、删除、修改和查询;学生成绩的录入、计算平均成绩和排名;教师和管理员的登录和权限管理。
项目实施:1.需求分析:根据客户需求,确定系统功能和界面设计。
与客户沟通,了解具体需求,明确系统功能和界面要求。
2.技术选型:选择适合的技术框架和数据库,如Spring MVC、MyBatis和MySQL。
3.数据库设计:根据系统需求,设计学生信息表和成绩表,并建立相应的关联关系。
4.界面设计:设计用户界面,包括登录界面、学生信息管理界面、成绩管理界面等。
5.编码实现:根据需求和设计,进行系统编码实现,包括前端界面和后端逻辑。
6.单元测试:对系统各个模块进行单元测试,确保功能正常。
7.集成测试:将各个模块集成,进行功能测试和性能测试,确保系统稳定。
8.上线部署:将系统部署到服务器上,配置好相关环境,进行线上测试。
9.用户培训:对管理员和教师进行培训,使其能够熟练操作系统。
10.系统维护:定期进行系统维护和更新,修复bug和优化系统性能。
项目亮点:1.采用Spring MVC框架,实现了模块化开发,提高了代码的复用性和可维护性。
2.使用MyBatis进行数据库操作,提高了数据库访问的效率。
3.采用前后端分离的架构,前端使用Vue.js框架,实现了页面的交互和数据展示。
4.使用JWT实现用户认证和权限管理,保证了系统的安全性。
5.采用缓存技术,提高了系统的响应速度和并发能力。
6.引入日志管理,方便系统的监控和故障排查。
7.系统界面简洁美观,用户操作友好,提高了用户体验。
项目收获:1.熟练掌握了Java语言和Spring MVC框架的开发技术。
2.了解了数据库设计和优化的方法,提高了数据的存储和访问效率。
3.学习了前端开发技术,提高了用户界面的设计和交互能力。
4.加深了对软件开发流程和项目管理的理解,提高了团队协作能力。
基于java的学生成绩管理系统的设计与实现

文章标题:基于Java的学生成绩管理系统的设计与实现一、引言学生成绩管理系统是学校管理系统中的重要组成部分,它可以帮助学校、老师和学生高效地管理和查询学生成绩信息。
基于Java的学生成绩管理系统的设计与实现是一个重要的课题,本文将从深度与广度两个角度来探讨这个主题。
二、学生成绩管理系统的基本要求学生成绩管理系统需要满足以下基本要求:1)能够实现学生信息的录入、修改和删除;2)能够实现课程信息的录入、修改和删除;3)能够实现成绩信息的录入、修改和删除;4)能够实现成绩的统计和排名功能;5)能够实现成绩的查询和导出功能。
三、基于Java的学生成绩管理系统的设计与实现1. 系统架构设计学生成绩管理系统可以采用三层架构设计,即用户界面层、业务逻辑层和数据访问层。
用户界面层负责与用户的交互,业务逻辑层负责处理业务逻辑,数据访问层负责与数据库进行交互。
2. 数据库设计数据库设计是学生成绩管理系统中的关键环节,需要设计学生信息表、课程信息表和成绩信息表,并建立它们之间的关联关系。
3. 功能模块设计学生成绩管理系统的功能模块包括学生信息管理、课程信息管理、成绩信息管理、成绩统计和排名以及成绩查询和导出功能。
四、基于Java的学生成绩管理系统的个人观点我认为基于Java的学生成绩管理系统的设计与实现不仅可以提高学校管理效率,也可以帮助老师更好地了解学生的学习情况,同时也能够让学生更方便地查询自己的成绩信息。
这个系统可以为学校管理和教学工作提供很大的便利,是非常值得推广和应用的。
五、总结与展望通过本文的探讨,我们深入了解了基于Java的学生成绩管理系统的设计与实现,从系统架构设计、数据库设计,功能模块设计等方面进行了全面的评估。
我们也共享了个人观点和理解。
希望本文能够为读者提供有价值的信息,同时也为学生成绩管理系统的推广应用提供一些借鉴和思路。
六、个人观点通过本次的撰写,我对基于Java的学生成绩管理系统的设计与实现有了更深入的了解,同时也对系统架构设计、数据库设计、功能模块设计等方面有了更全面的认识。
基于javaweb的学生成绩管理系统毕业设计模板

学生成绩管理系统是现代教育管理中不可或缺的一部分。
随着信息化时代的到来,学生成绩管理系统已经成为学校教务管理的基础工具之一。
通过使用基于javaweb的学生成绩管理系统,学校可以更高效地管理学生成绩,并为学生、老师和家长提供更加便捷的查询和反馈渠道。
1. 学生成绩管理系统的意义学生成绩管理系统作为教务管理的重要组成部分,可以帮助学校实现信息化管理、提高管理效率、减轻教师工作负担、增加家长对学生成绩的了解渠道等方面的作用。
基于javaweb的学生成绩管理系统具有良好的稳定性和安全性,能够满足学校教务管理的需求,值得深入探讨和研究。
2. javaweb在学生成绩管理系统中的应用在学生成绩管理系统的设计和开发中,javaweb技术可以发挥重要作用。
通过javaweb技术,可以实现系统的快速开发和良好的用户体验,同时也能保证系统的性能和安全性。
javaweb还可以与数据库等其他技术相结合,实现学生成绩的有效管理和查询。
3. 设计模板的重要性设计模板是学生成绩管理系统开发的关键环节之一。
一个合理的设计模板能够直接影响到系统的使用体验和用户满意度。
在设计模板时,需要考虑到系统的可用性、易用性和美观性,以及不同用户角色的需求。
只有通过合理的设计模板,学生成绩管理系统才能真正发挥作用,并得到广泛的应用和认可。
4. 个人观点和理解对于基于javaweb的学生成绩管理系统毕业设计模板,我认为需要充分考虑到系统的灵活性和可扩展性。
学生成绩管理系统面向的是未来的教育管理需求,因此需要具备良好的可扩展性,以适应未来的变化和发展。
系统的用户体验和界面设计也是至关重要的,只有用户满意度高的系统才能真正发挥作用。
总结回顾在本文中,我对基于javaweb的学生成绩管理系统毕业设计模板进行了深入的探讨。
我指出了学生成绩管理系统的意义、javaweb在其中的应用、设计模板的重要性,并共享了个人观点和理解。
通过这些内容的阐述,相信读者对于学生成绩管理系统的设计和开发有了更深入的理解,也能够更好地应用这些知识到实际的毕业设计中。
java成绩管理系统的实训总结报告

java成绩管理系统的实训总结报告Java成绩管理系统实训总结报告一、实训目标本次实训的目标是利用Java语言开发一个成绩管理系统,该系统能够实现对学校成绩的录入、查询、修改和删除等基本操作。
通过本次实训,我希望能够加深对Java语言的了解,提高编程能力,并熟悉软件开发的基本流程。
二、实训内容在本次实训中,我主要完成了以下几个部分的工作:1. 需求分析:首先对成绩管理系统的需求进行了详细的分析,确定了系统的基本功能和数据结构。
2. 系统设计:根据需求分析的结果,设计了数据库表结构和系统的主要功能模块。
3. 系统实现:使用Java语言实现了系统的各个功能模块,包括界面设计和后台逻辑处理。
4. 测试与调试:对系统进行了详细的测试,确保各个功能都能正常运行,并对出现的问题进行了调试和修复。
三、遇到的问题和解决方案在实训过程中,我遇到了以下几个问题:1. 数据库连接问题:最初在连接数据库时,出现了连接失败的情况。
经过检查,发现是连接字符串的配置出现了错误。
通过仔细检查并参考相关资料,最终解决了这个问题。
2. 界面设计问题:在界面设计中,最初版本的界面不够美观和易用。
通过学习和使用相关的UI设计工具和框架,我对界面进行了优化,使其更加美观和易用。
3. 数据验证问题:在处理数据时,没有对用户输入的数据进行有效的验证,导致出现了一些异常情况。
我通过添加数据验证代码,确保了数据的合法性和准确性。
四、实训收获与反思通过本次实训,我深入了解了Java语言在软件开发中的应用,提高了编程能力,并熟悉了软件开发的基本流程。
同时,我也意识到了在开发过程中需要注意的一些问题,如需求分析的准确性、代码的规范性和可维护性等。
在未来的学习和工作中,我将继续努力提高自己的技能和能力,以更好地适应社会和企业的需求。
此外,我也意识到了团队合作的重要性。
在实训过程中,我们需要相互协作、共同解决问题,才能按时完成项目。
在未来,我将更加注重团队合作,发挥每个人的优势,提高工作效率。
java学生成绩管理系统报告
Java学生成绩管理系统报告简介本文将介绍一个基于Java开发的学生成绩管理系统。
该系统旨在帮助学校和教师高效管理学生的成绩信息,包括录入、查询、统计和分析等功能。
开发环境和工具•Java编程语言•IntelliJ IDEA集成开发环境•MySQL数据库功能需求1. 学生信息管理•录入学生信息,包括学生姓名、学号、性别等基本信息。
•修改学生信息,如学号、班级等。
•删除学生信息。
2. 成绩录入和查询•录入学生的考试成绩,包括科目、分数、考试日期等。
•查询学生的考试成绩,可按照学生姓名、学号、科目等进行检索。
3. 成绩统计和分析•对学生的考试成绩进行统计,包括平均分、最高分、最低分等。
•根据科目、班级等条件进行成绩分析,生成成绩报表。
4. 数据备份与恢复•对学生信息和成绩数据进行备份,以防数据丢失或损坏。
•支持从备份中恢复数据。
数据库设计学生表(student)字段名类型备注学号int 主键姓名varchar(50)性别varchar(10)班级varchar(50)成绩表(score)字段名类型备注学号int 外键科目varchar(50)分数float考试日期date系统架构本系统采用Java MVC(Model-View-Controller)架构模式进行设计和开发。
•Model层:负责数据的处理和存储,包括与数据库的交互。
•View层:负责用户界面的展示和交互,使用Swing或JavaFX等GUI 库进行开发。
•Controller层:负责接收用户的请求,调用对应的Model方法进行数据处理,并更新View层的显示。
开发步骤1. 数据库连接和表设计使用JDBC连接MySQL数据库,并创建上述的学生表和成绩表。
2. 学生信息管理模块开发•创建学生类(Student)和学生管理类(StudentManager)。
•实现学生信息的录入、修改和删除功能。
3. 成绩录入和查询模块开发•创建成绩类(Score)和成绩管理类(ScoreManager)。
学生信息管理系统java功能模块
学生信息管理系统Java功能模块简介学生信息管理系统是一种用于管理学生信息的软件系统。
它可以帮助学校、教育机构或其他组织有效地记录、存储和处理学生的个人和学术信息。
Java是一种面向对象的编程语言,具有广泛的应用领域和强大的开发工具,非常适合用于开发学生信息管理系统。
本文将介绍学生信息管理系统的Java功能模块,包括以下几个方面:用户登录与权限管理、学生信息录入与查询、成绩管理、课程管理以及数据统计与报表生成。
用户登录与权限管理用户登录用户登录是系统的入口,通过输入用户名和密码进行身份验证。
在Java中,可以使用Swing或JavaFX等图形界面库创建一个登录界面,用户输入用户名和密码后,通过数据库验证用户身份。
权限管理不同用户可能具有不同的权限,例如管理员可以对系统进行全面管理,而普通教师只能查看和编辑自己所负责的班级或课程。
在Java中,可以使用角色-权限模型来实现权限管理。
每个用户被分配到一个或多个角色,并且每个角色具有一组特定的权限。
通过为每个操作配置相应的权限,并在代码中进行权限检查,可以确保只有具备相应权限的用户才能执行该操作。
学生信息录入与查询学生信息录入学生信息包括个人基本信息、家庭背景、学习成绩等。
在Java中,可以使用面向对象的思想,创建一个学生类,包含各种属性和方法。
通过用户界面,可以输入学生的各项信息,并将其保存到数据库中。
学生信息查询学生信息查询是系统的核心功能之一。
用户可以通过多种方式进行查询,例如按照学号、姓名、班级等进行精确查询,或者按照年级、性别等进行模糊查询。
在Java中,可以使用SQL语句来实现数据库查询操作,并将结果显示在用户界面上。
成绩管理成绩录入成绩管理是学生信息管理系统的重要组成部分。
教师可以根据课程安排录入学生成绩,并将其与相应的学生和课程关联起来。
在Java中,可以使用面向对象的思想,创建一个成绩类,包含相关属性和方法。
通过用户界面,教师可以输入学生成绩,并将其保存到数据库中。
学生成绩在线管理系统数据库课程设计mysql+java
学生成绩在线管理系统数据库课程设计mysql+java以下是一个学生成绩在线管理系统的数据库设计示例,使用MySQL数据库和Java 编程语言:1. 学生表(students)-学生ID(student_id):主键,自增-学生姓名(student_name):varchar类型,最大长度为50-学生年龄(student_age):整数类型-学生性别(student_gender):varchar类型,最大长度为10-学生班级(student_class):varchar类型,最大长度为502. 课程表(courses)-课程ID(course_id):主键,自增-课程名称(course_name):varchar类型,最大长度为503. 成绩表(scores)-成绩ID(score_id):主键,自增-学生ID(student_id):外键,关联到学生表的学生ID-课程ID(course_id):外键,关联到课程表的课程ID-分数(score):浮点数类型通过以上表的设计,你可以实现以下功能:-添加学生信息-添加课程信息-添加学生成绩-查询学生信息-查询课程信息-查询学生的成绩-更新学生信息-更新课程信息-更新学生成绩-删除学生信息-删除课程信息-删除学生成绩在Java中,你可以使用JDBC(Java Database Connectivity)来连接MySQL数据库并执行SQL语句来实现对数据库的操作。
你需要配置数据库连接信息,并编写相应的Java代码来执行查询和更新操作。
这只是一个简单的数据库设计示例,你可以根据你的具体需求进行调整和扩展。
java课程设计题目及代码
java课程设计题目及代码题目:学生成绩管理系统设计一个学生成绩管理系统,能够实现以下功能:1. 添加学生信息:录入学生的姓名、学号、性别等基本信息。
2. 添加学生成绩:录入学生的各门成绩,包括语文、数学、英语等课程。
3. 查找学生成绩:根据学号或姓名查找学生的成绩信息。
4. 修改学生成绩:根据学号或姓名修改学生的成绩信息。
5. 删除学生成绩:根据学号或姓名删除学生的成绩信息。
6. 统计学生成绩:统计全班学生的各门课程的平均分、最高分和最低分。
代码实现如下:```javaimport java.util.ArrayList;import java.util.HashMap;import java.util.Map;import java.util.Scanner;class Student {private String name;private String studentId;private String gender;private Map<String, Integer> scores;public Student(String name, String studentId, String gender) { = name;this.studentId = studentId;this.gender = gender;this.scores = new HashMap<>();}public String getName() {return name;}public String getStudentId() {return studentId;}public String getGender() {return gender;}public Map<String, Integer> getScores() {return scores;}public void addScore(String subject, int score) {scores.put(subject, score);}public void updateScore(String subject, int score) { scores.put(subject, score);}public void removeScore(String subject) {scores.remove(subject);}}class GradeManagementSystem {private ArrayList<Student> students;public GradeManagementSystem() {students = new ArrayList<>();}public void addStudent(String name, String studentId, String gender) {students.add(new Student(name, studentId, gender));}public Student findStudentById(String studentId) {for (Student student : students) {if (student.getStudentId().equals(studentId)) {return student;}}return null;}public Student findStudentByName(String name) {for (Student student : students) {if (student.getName().equals(name)) {return student;}}return null;}public void addScore(String studentId, String subject, int score) {Student student = findStudentById(studentId);if (student != null) {student.addScore(subject, score);}}public void updateScore(String studentId, String subject, int score) {Student student = findStudentById(studentId);if (student != null) {student.updateScore(subject, score);}}public void removeScore(String studentId, String subject) {Student student = findStudentById(studentId);if (student != null) {student.removeScore(subject);}}public void printStudentInfo(Student student) {System.out.println("姓名:" + student.getName());System.out.println("学号:" + student.getStudentId());System.out.println("性别:" + student.getGender());System.out.println("成绩:");for (Map.Entry<String, Integer> entry :student.getScores().entrySet()) {System.out.println(entry.getKey() + ":" +entry.getValue());}}public void printClassStatistics() {int chineseTotal = 0;int mathTotal = 0;int englishTotal = 0;int chineseMax = 0;int mathMax = 0;int englishMax = 0;int chineseMin = Integer.MAX_VALUE;int mathMin = Integer.MAX_VALUE;int englishMin = Integer.MAX_VALUE;for (Student student : students) {Map<String, Integer> scores = student.getScores();if (scores.containsKey("语文")) {int chineseScore = scores.get("语文");chineseTotal += chineseScore;chineseMax = Math.max(chineseMax, chineseScore);chineseMin = Math.min(chineseMin, chineseScore); }if (scores.containsKey("数学")) {int mathScore = scores.get("数学");mathTotal += mathScore;mathMax = Math.max(mathMax, mathScore);mathMin = Math.min(mathMin, mathScore);}if (scores.containsKey("英语")) {int englishScore = scores.get("英语");englishTotal += englishScore;englishMax = Math.max(englishMax, englishScore); englishMin = Math.min(englishMin, englishScore); }}int studentCount = students.size();double chineseAverage = (double) chineseTotal / studentCount;double mathAverage = (double) mathTotal / studentCount; double englishAverage = (double) englishTotal / studentCount;System.out.println("语文最高分:" + chineseMax);System.out.println("数学最高分:" + mathMax);System.out.println("英语最高分:" + englishMax);System.out.println("语文最低分:" + chineseMin);System.out.println("数学最低分:" + mathMin);System.out.println("英语最低分:" + englishMin);System.out.println("语文平均分:" + chineseAverage); System.out.println("数学平均分:" + mathAverage); System.out.println("英语平均分:" + englishAverage); }}public class Main {public static void main(String[] args) {GradeManagementSystem system = new GradeManagementSystem();// 添加学生信息system.addStudent("张三", "001", "男");system.addStudent("李四", "002", "女");system.addStudent("王五", "003", "男");// 添加学生成绩system.addScore("001", "语文", 90);system.addScore("001", "数学", 85);system.addScore("001", "英语", 92);system.addScore("002", "语文", 80);system.addScore("002", "数学", 75);system.addScore("002", "英语", 88);system.addScore("003", "语文", 95);system.addScore("003", "数学", 90);system.addScore("003", "英语", 97);// 查找学生成绩Student student = system.findStudentById("001"); if (student != null) {system.printStudentInfo(student);}// 修改学生成绩system.updateScore("002", "数学", 78);student = system.findStudentById("002");if (student != null) {system.printStudentInfo(student);}// 删除学生成绩system.removeScore("003", "语文");student = system.findStudentById("003");if (student != null) {system.printStudentInfo(student);}// 统计学生成绩system.printClassStatistics();}}```这是一个简单的学生成绩管理系统,通过添加学生信息、添加学生成绩、查找学生成绩、修改学生成绩、删除学生成绩和统计学生成绩等功能,可以对学生的成绩进行管理和操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩管理系统
import java.util.*;
import java.io.*;
class Student implements Serializable {
String name;
long no;
private String[] course={"os","java","math"};
double[] cscore={0,0,0};
public Student(String name,long no,double a,double b,double c){
=name;
this.no=no;
this.cscore[0]=a;
this.cscore[1]=b;
this.cscore[2]=c;
}
@Override public String toString(){
return +" "+this.no+" "+this.course[0]+":"+this.cscore[0]
+" "+this.course[1]+":"+this.cscore[1]+" "+this.course[2]+":"+this.cscore[2];
}
}
public class Object{
private static Scanner scanner=new Scanner(System.in);
public Student[] read()throws Exception{
ObjectInputStream objIn=new ObjectInputStream(new FileInputStream("stus.data"));
int num=objIn.readInt();
Student[] stus=new Student[num];
for(int i=0;i<num;i++){
stus[i]=(Student)objIn.readObject();
}
objIn.close();
return stus;
}
public void add(Student[] stus)throws Exception{
Student[] s=new Student[stus.length+1];
for(int i=0;i<s.length-1;i++){s[i]=stus[i];}
System.out.print("请输入要添加的学生信息:\n"+"姓名:");String name=scanner.next();
System.out.print("学号:");long no=scanner.nextInt();
System.out.print("os成绩:");double cscore0=scanner.nextDouble();
System.out.print("java成绩:");double cscore1=scanner.nextDouble();
System.out.print("math成绩:");double cscore2=scanner.nextDouble();
s[s.length-1]=new Student(name,no,cscore0,cscore1,cscore2);save(s);
System.out.println("添加成功!");
}
public void dispAll(Student[] stus){
System.out.println("现有Student信息为:");
for(Student stu:stus){
System.out.println(stu);
}
}
public void save(Student[] stus)throws Exception{
ObjectOutputStream objOut=new ObjectOutputStream(new FileOutputStream("stus.data"));
objOut.writeInt(stus.length);
for(Student stu:stus){
objOut.writeObject(stu);
}
objOut.close();
}
public void findById(Student[] stus){
int no=0,i=0;
System.out.print("请输入学号:");no=scanner.nextInt();
for(i=0;i<stus.length;i++){
if(stus[i].no==no){System.out.println(stus[i]);break;}
if(stus[i].no!=no&&i==stus.length-1){System.out.println("无该生信息!");} }
}
public void findByName(Student[] stus){
String name="";
System.out.print("请输入姓名:");name=scanner.next();
for(int i=0;i<stus.length;i++){
if(name.equalsIgnoreCase(stus[i].name)==true){System.out.println(stus[i]);break;}
if(name.equalsIgnoreCase(stus[i].name)==false&&i==stus.length-1){System.out.println("无该生信息!");}
}
}
public void delById(Student[] stus)throws Exception{
int no=0,i=0;
System.out.print("请输入学号:");no=scanner.nextInt();
for(i=0;i<stus.length;i++){
if(stus[i].no==no){System.out.println(stus[i]);stus[i]=null;save(stus);System.out.println("删除成功!");break;}
if(stus[i].no!=no&&i==stus.length-1){System.out.println("无该生信息!");} }
}
public static void main(String[] args)throws Exception{
Object demo=new Object();
Student[] stus={new Student("zhang",1,90,90,98),new Student("wang",2,80,80,89),new Student("li",3,70,70,79)};
System.out.print("请输入操作的编号:");System.out.print("\n");
int choice=0;
do{
System.out.println("1 添加 2 显示所有学生信息 3 按学号查找 4 按姓名查找 5 按学号删除 6 保存0 退出");
choice=scanner.nextInt();
switch(choice){
case 1: demo.add(demo.read());break;
case 2: demo.dispAll(demo.read());break;
case 3: demo.findById(demo.read());break;
case 4: demo.findByName(demo.read());break;
case 5: demo.delById(demo.read());break;
case 6: demo.save(stus);break;
case 0: break;
default: System.out.println("Error!");
}
}while(choice!=0);
}
}。