项目作业:学生成绩管理
项目作业 6660
等653人参与

演示效果:在主方法中定义菜单,显示效果如下图所示,并定义方法完成对学生成绩的管理,学生成绩存放在数组中。

//img1.sycdn.imooc.com//climg/5c74a71d00015b9305000575.jpg

//img1.sycdn.imooc.com//climg/5c74a72500015dd405000387.jpg

//img1.sycdn.imooc.com//climg/5c74a72c000125f105000315.jpg

//img1.sycdn.imooc.com//climg/5c74a73f0001b37805000227.jpg

//img1.sycdn.imooc.com//climg/5c74a74400013b1805000430.jpg

//img1.sycdn.imooc.com//climg/5c74a7570001350a05000348.jpg

//img1.sycdn.imooc.com//climg/5c74a7780001b37805000227.jpg

//img1.sycdn.imooc.com//climg/5c74a7610001cf6104240160.jpg

作业描述

一、 项目准备

开发工具:JDK、Eclipse

需求分析:见课程视频,并参考评分标准。

效果演示:见课程视频。

二、整体要求

1、 完成需求分析和详细设计中所涉及到的所有功能。

2、 代码结构要层次分明,代码编辑思路要清晰、整洁。

3、 要求Java代码书写、命名符合规范,并在代码中添加必要的注释

4、 程序运行效果与提供的页面效果图、结构保持一致

5、 将作业项目导出(Export)成压缩文件

三、详细设计

      1、定义一个显示菜单的方法:public void displayMenu() { }

2、定义一个初始化数学成绩的方法,数组的长度和元素均由键盘输入。public float[] initScore() {  }

3、定义一个求平均成绩的方法:public float average(float[] f) {  } 

4、定义一个统计成绩大于85分的人数的方法:public int count(float[] f) {  }

5、修改指定位置处成绩的方法:public void update(float[] f, int index, float newScore) {  }  参数index为位置,从0开始,与数组下标含义相同,newScore是新的成绩。

6、打印输出所有成绩的方法:public void displayAllScore(float[] f) {  }

7、在主方法中,使用case语句完成主要程序逻辑,当输入对应的数字时,调用对应的操作。

注意:

1、当要求输入数字,而输出非数字时,要给出错误提示。

     2、当输入的数字与case语句不匹配时,给出错误提示。


=====================================================================================================

//img1.sycdn.imooc.com//climg/6077b7a329d71f3b05001000.jpg


同学在完成作业的过程是否有遇到知识点忘记的情况呢?为了能让同学更好的完成作业,这里将作业中所涉及到的知识点进行罗列。如果同学忘记了某些知识点,对知识点有不理解的地方,可以去对应的课程下重新学习。

作业涉及知识点对应课程小节链接
数组地址链接
方法地址链接
异常处理地址链接
键盘输入数据地址链接
switch-case选择结构地址链接
while循环地址链接
for循环地址链接
数组作为方法参数地址链接
有返回值的方法地址链接
if判断地址链接






评分标准是什么?

规范【10分】   

  • 每个类都封装在自己独立的 ".java"文件中;

  • 文件、class、成员变量命名规范;                   

  • 代码结构要层次分明;  

  • Java代码规范及添加适量注释。

程序整体运行效果【10分】   

  • 程序正常运行,且满足效果图要求;

  • 信息间分隔符“*”号数量不做统一要求。  

菜单显示方法【3分】

  • 能够完成显示提示信息菜单的方法。

初始化数学成绩方法【10分】

  • 能够完成需求中向数组插入数据的方法。

  • 数组类型可以插入小数,另外数据长度可以由用户自己定义。

求平均成绩方法【10分】

  • 能够根据需求计算出平均成绩并打印。

统计成绩大于85分的人数方法【15分】

  • 能够根据需求统计出成绩大于85分的人数,并将人数显示出来。

修改指定位置处成绩方法【10分】

  • 能够完成需求中在指定位置处替换数据。

  • 在修改数据之前应该将修改前的成绩打印,修改之后将修改完成的成绩显示。

打印输出所有成绩的方法【7分】

  • 能够完成需求中显示所有数据的方法。

主方法【25分】

  要求如下:  

  • 使用switch结构完成主体功能,并调用方法完成演示效果中所示的功能。

  • 如果输入0-5以外的数字,应给出错误提示。


项目作业上传说明
第1步:上传你的作业压缩包
第2步:等待讲师一对一批复
第3步:查看讲师点评
上传作业

登录后查看更多作业,立即

批复案例

代码规范
类的命名不符合规范。当类名由一个单词组成时,该单词首字母大写;当类名由多个单词组成,则每个单词的首字母均大写。如:Scoredemo应改为:ScoreDemo
菜单
当选择菜单,输入数组长度时,如果输入的是非数字,会出现 InputMismatchException异常,如下图所示:
图片描述
图片描述
修改建议:
这时需要对异常信息进行捕获。可以使用try{}块对键盘输入的代码进行捕获,并在catch{}块中加上reader.next()方法接收输入错误的内容以及错误提示语句。
修改后的代码如下:
图片描述
图片描述
输入成绩
输入成绩的时候,作业要求可以输入小数,而同学的代码无法输入小数:同学的代码运行效果如下:
图片描述
修改建议:
输入成绩时,这里可以改成输入float类型的: reader.nextFloat();
修改后的代码如下图所示:
图片描述
修改指定位置的成绩
当输入要修改的数据的位置的范围不在0到数组长度-1之间时,会出现数组索引越界异常。同学的代码执行效果如下:
图片描述
修改建议:
建议同学可以判断一下用户输入的要修改的位置,使其在0到(数组长度-1)的范围内。

评论
展开评论
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师