Java初学者自制成绩查询系统
需积分: 13 56 浏览量
更新于2024-09-13
收藏 2KB TXT 举报
"这是一个Java初学者编写的简单成绩查询程序,使用了三维数组来存储全校6个年级,每个年级5个班级,每个班级50名学生的成绩。程序通过Math.random()方法为学生随机生成0到100的整数成绩,并提供功能让用户在控制台输入指令,如'平均分'、'最高分'或'60',以查询相应信息。当用户输入'平均分'时,程序会计算所有学生的平均分;输入'最高分'时,会找出最高分;输入'60'则会统计及格人数。"
在这个Java程序中,有几个重要的知识点:
1. **三维数组**:程序使用了一个三维数组`int[][][] point`来存储成绩数据,结构为年级、班级和学生。这样可以方便地按照年级、班级和学生个体进行数据操作。
2. **随机数生成**:`Math.random()`函数用于生成0到1之间的随机小数,通过`(int)(Math.random() * 100 + 0.5)`可以将这个小数转换为0到100之间的整数,作为学生的随机成绩。
3. **IO流处理**:程序使用`BufferedReader`类读取用户从控制台输入的数据。`BufferedReader`与`InputStreamReader`配合,可以从标准输入流(System.in)读取用户输入的字符串。
4. **do-while循环**:程序使用do-while循环持续读取用户输入,直到用户结束程序。循环条件是`goon != null`,意味着只要用户没有输入退出指令,程序就会继续执行。
5. **条件语句**:程序根据用户输入的字符串执行不同的操作,使用了`if-else`语句判断用户是否输入了'平均分'、'最高分'或'60'。
6. **数组遍历与计算**:在计算平均分和查找最高分时,程序遍历整个三维数组。计算平均分时,累加所有成绩然后除以学生总数;查找最高分时,用一个变量记录当前最高分,并在遍历过程中不断更新。
7. **浮点数除法**:计算平均分时,`total / totalperson`会导致结果为整数,因此需要将其中一个操作数转换为浮点数(`float average = total / totalperson;`),确保结果是浮点数,以便得到准确的平均分。
8. **异常处理**:`throws IOException`在`main`方法签名中声明,表明程序可能抛出`IOException`,这是一种处理输入输出错误的方式。
9. **变量定义**:程序中使用了多个变量,如`i`, `j`, `k`用于循环,`total`用于累加成绩,`totalperson`用于计算学生总数,以及`average`和`most`分别用于存储平均分和最高分。
这个简单的程序展示了基本的Java编程概念,包括数组操作、输入输出、循环、条件判断以及异常处理。对于初学者来说,它是学习Java语法和控制流程的良好起点。
2022-06-09 上传
点击了解资源详情
2012-01-03 上传
2010-09-17 上传
2008-11-21 上传
2009-10-27 上传
2010-08-12 上传
kekukelexixi
- 粉丝: 0
- 资源: 1
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能