Java初学者自制成绩查询系统
需积分: 13 200 浏览量
更新于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
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍