一、实验目的

1.掌握java的类与对象的基本概念;

2.掌握简单的信息管理系统的设计与实现。

二、实验环境

实验建议在安装了以下软件的计算机上完成:

1.       Windows xp/win7/win8/win10操作系统

2.       JDK 1.6以上版本

3.       Eclipse或NetBeans IDE或EditPlus或其它开发工具

三、实验内容与要求

(一) 问题描述

要求采用java类与对象的基本知识,实现简单的学生成绩管理系统。

(二) 实验要求

1.       实现定义学生成绩记录,记录包括字段有:学生姓名、学号、课程名称、成绩。

2.       实现学生成绩管理系统的菜单管理功能,允许查看、添加、修改、删除、统计、查找和排序等操作;

3.       实现查看学生成绩单功能,能显示所有学生成绩记录;

4.       实现添加学生成绩记录功能,输入某位学生某门课的成绩,能保存到成绩表里面;

5.       实现修改学生成绩记录功能,根据学生学号修改课程成绩;

6.       实现删除学生成绩记录功能,根据学生学号删除课程成绩;

7.       实现统计某门课平均分、最高分和最低分的功能;

8.       实现查找某位学生成绩功能,根据学生学号显示该学生的成绩;

9.       实现按成绩从高往低排序,并输出。

四、实现提示

1. 定义学生成绩记录类,把记录的字段作为类的属性,并定义该类的基本操作方法;

2. 采用一维数组实现学生成绩记录表,数组的数据类型为” 学生成绩记录类”。第一步-建立一个Score类package student.score.manage;

public class Score {

String num;

String name;

double score;

public Score(){

}

public void setNum(String num) {

this.num = num;

}

public void setName(String name) {

this.name = name;

}

public void setScore(double score) {

this.score = score;

}

}

第二步-建立一个ScoreList类package student.score.manage;

import java.util.Scanner;

public class ScoreList {

int maxLength = 100;

int length = 0;

Score[] data = new Score[maxLength];

Scanner input = new Scanner(System.in);

public ScoreList() {

}

//添加记录方法

public void add() {

if(length < maxLength) {

data[length] = new Score();

System.out.print("请输入学生的学号: ");

data[length].setNum(input.next());

System.out.print("请输入学生的姓名:");

data[length].setName(input.next());

System.out.print("请输入学生的成绩:");

data[length].setScore(input.nextDouble());

length++;

System.out.println("添加成功!");

}

else {

System.out.println("添加失败!");

}

}

//显示成绩单方法

public void transcript() {

System.out.println("=====================================");

System.out.println(" 学号 姓名 成绩 ");

for(int i = 0; i < length; i++) {

System.out.println(data[i].num + "\t" + data[i].name + "\t" + "\t" + data[i].score);

}

System.out.println("=====================================\n");

}

//成绩从高往低排序方法

public void sort() {

Score temp = new Score();

for(int i = 1; i < length; i++) {

for(int j = 0; j < length - i; j++) {

if(data[j].score < data[j + 1].score) { //冒泡法排序

temp = data[j]; data[j] = data[j + 1]; data[j + 1] = temp;

}

}

}

}

//平均分、最大最小值方法

public void average() {

double sum = 0.0;

double max = 0.0;

double min = 100.0;

for(int i = 0; i < length; i++) {

sum += data[i].score;

max = max > data[i].score ? max : data[i].score;

min = min < data[i].score ? min : data[i].score; //三目运算法

}

System.out.printf("这门课的平均成绩为: %.2f\n", sum/length);

System.out.println("最高分为: " + max + "\n" + "最低分为: " + min + "\n");

}

//删除学生记录方法

public void delete() {

System.out.print("请输入您要删除信息的学生的学号: ");

String number1 = input.next();

int i, flag = length;

for(i = 0; i < length; i++) {

if(number1.equals(data[i].num)) {

flag = i; break;

}

}

if(i == length) {

System.out.println("查无此人!请核对后重新输入 \n");

delete();

}

else {

for(int j = flag; j < length; j++) {

data[j] = data[j + 1];

}

System.out.println("删除成功!\n");

length -= 1; //不减1会报数组越界的错误

}

}

//查询某个学生信息方法

public void inquire() {

System.out.print("请输入您要查询成绩的学生的学号:");

String number2 = input.next();

int i;

for(i = 0; i < length; i++) {

if(number2.equals(data[i].num)) {

System.out.println("====================================");

System.out.println(" 学号 姓名 成绩 ");

System.out.println(data[i].num + "\t" + data[i].name + "\t" + "\t" + data[i].score);

System.out.println("====================================\n");

break;

}

}

if(i == length) {

System.out.println("查无此人!请核对后重新输入学号 \n");

inquire();

}

}

//修改学生信息方法

public void recompose() {

System.out.print("请输入您要修改信息的学生的学号:");

String number3 = input.next();

int i;

for(i = 0; i < length; i++) {

if(number3.equals(data[i].num)) {

System.out.println("请输入该学生新的学号,姓名和成绩:");

data[i].setNum(input.next());

data[i].setName(input.next());

data[i].setScore(input.nextDouble());

System.out.println("修改成功!\n");

break;

}

}

if(i == length) {

System.out.println("查无此人!请核对后重新输入学号\n");

recompose();

}

}

}

最后一步,当然是建立一个Test类啦:package student.score.manage;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

String choice = "1";

ScoreList studentScoreList = new ScoreList();

System.out.println("**********学生成绩管理系统********");

while(choice.equals("0") == false) {

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.按成绩从高往低排序,并输出");

System.out.println("0.退出程序");

System.out.print("Enter your choice: ");

choice = input.next();

switch(choice) {

case "0":

System.out.println("谢谢您的使用,欢迎下次光临!\n" + "**********按任意键结束程序**********");

break;

case "1":

studentScoreList.transcript();

System.out.println("请问您还需要什么服务?\n");

break;

case "2":

int i = 1;

do {

studentScoreList.add();

System.out.println("\n是否继续添加?" + "\n" + "0.否" + "\n" + "1.是");

i = input.nextInt();

}while(i == 1);

System.out.println("请问您还需要什么服务?\n");

break;

case "3":

studentScoreList.recompose();

System.out.println("请问您还需要什么服务?\n");

break;

case "4":

studentScoreList.delete();

System.out.println("请问您还需要什么服务?\n");

break;

case "5":

studentScoreList.inquire();

System.out.println("请问您还需要什么服务?\n");

break;

case "6":

studentScoreList.average();

System.out.println("请问您还需要什么服务?\n");

break;

case "7":

studentScoreList.sort();

studentScoreList.transcript();

System.out.println("请问您还需要什么服务?\n");

break;

default:

System.out.println("Invalid input! Please enter again.");

break;

}

}

}

}

这里是初学Java的渣新,还请大佬轻喷,有错误的地方还请多多指教,至于为啥我这个渣新也敢发代码出来,还不是学校要求的!!!而且我想我这个渣新写的代码对于萌新来说也更好理解,谢谢支持了

java简单学生成绩系统_JAVA 实现简单的学生成绩管理系统相关推荐

  1. 用java建立一个学生查询系统_一个简单的java学生寝室查询系统

    本文实例为大家分享了java学生寝室查询系统的具体代码,供大家参考,具体内容如下 前端部分: index.html ahpu freshman dormitory inquiry html,body{ ...

  2. java中logger_Java日志系统---Logger之简单入门

    Java 中自带的日志系统,今天抽空了解了一点,算是入了门,所以将自己的一些心得记录下来,以备日后查看,有兴趣的朋友,看到此文章,觉得有错误或需要添加的地方,请在下方评论留言,大家可以共同进步,谢谢: ...

  3. java学生成绩管理_java开发的简易学生成绩管理系统

    经过1个月的紧张学习和应用,终于做出了这个简易的学生成绩管理系统. 代码如下(仅供参考学习) view包下的菜单 package com.xujulong.www.view: import java. ...

  4. c语言程序学生成绩系统论文,c语言程序设计-学生成绩管理系统论文.doc

    c语言程序设计-学生成绩管理系统论文 C语言程序设计课程设计报告 - PAGE 11 - 中南民族大学工商学院 电子信息与计算机技术系 项目名称: 学生成绩管理系统 学生姓名: 学 号: 班 级: 指 ...

  5. java 平台级模块系统_Java平台模块系统公众审查未能通过

    java 平台级模块系统 在过去的几周里,Java世界中的戏剧,阴谋和政治活动异常高涨,最终在本周的JSR 376 Java平台模块系统公共评审投票中达到了顶峰. Java模块化(包括Java平台模块 ...

  6. java开源b2b2c商城系统_java开源b2b2c商城系统有好用的吗?

    java语言是许多商家选择b2b2c商城系统都会考虑的语言之一,因为这种语言开发出来的商城系统会更加安全稳定.开源商城系统一般都以价格实惠受到商家欢迎,所以java开源商城系统也受到关注.那么java ...

  7. 学生签到系统c代码_C语言学生管理系统源码分享

    1 大家好2 我就是如假包换的...陈玲3 自从运营了C语言程序设计微信公众号4 很多粉丝都给我备注5 ...奇葩6 实在是不敢当7 也被人开始叫玲玲姐8 我知道9 很多人都想看我出境10 我本人也有 ...

  8. c语言程序设计学生考勤系统,C语言课程设计学生考勤系统最终版(样例3)

    <C语言课程设计学生考勤系统.doc>由会员分享,可免费在线阅读全文,更多与<C语言课程设计学生考勤系统(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文 ...

  9. java win 窗体开发简单订餐系统_Java实现简单订餐系统

    本文实例为大家分享了Java实现简单订餐系统的具体代码,供大家参考,具体内容如下 import java.util.Scanner; import java.util.*; public class ...

最新文章

  1. ATS统计量proxy.node.client_throughput_out的单位调研
  2. Libevent调用
  3. 如何高性价比地构建GPU环境,实现GPU自由?
  4. 有认知会推理!视觉大模型的未来不只靠表征
  5. 配置ssl证书_Nginx监听443端口配置SSL证书
  6. JFileChooser多选、选择目录
  7. Aiiage Camp Day5 A Rikka with Linker
  8. C# Dev控件中的 GridControl 双击行事件
  9. android 按钮点击声音,如何在Android中单击按钮时播放声音?
  10. Uniswap 24h交易量约11亿美元涨10.66%
  11. FFMPEG geq与比较函数
  12. Keil使用实战总结
  13. 内存的物理结构和工作原理
  14. Matlab 划分网格,三维曲面,网格划分好之后还需要提取网格上的每个点的位置坐标,之后需要用这些点的坐标进行运算。望各位大佬解惑,感激不尽
  15. 金耀初教授:进化计算在人工智能领域的发展
  16. Linux好用命令之base64命令
  17. 常用、免费的API接口网址
  18. 使用python在已存在的excel数据表中的特定位置写入数据
  19. c语言 强制退出程序,C#实现点击按钮退出应用程序实例
  20. mysql HA方案: MHA

热门文章

  1. 2.跟我走吧,现在就出发
  2. 方舟仙境服务器什么时候修复,方舟生存进化2.0.0.5版本修复更新 6月22日联机地牢重新开启...
  3. imperva 网管替换
  4. 基于物理的渲染—更精确的微表面分布函数GGX
  5. Windows Defender内核隔离无法关闭,提示此设置由管理员进行管理
  6. Linux内核PWN-基础ROP提权
  7. DB2数据库常见问题汇总
  8. python的pyautogui的函数,实现按键精灵
  9. 【Lilishop商城】No4-1.业务逻辑的代码开发,涉及到:会员B端第三方登录使用及后端接口(微信、QQ等)
  10. Hive Invalid path xxxx: No files matching path file: xxxx