Java初学者自制成绩查询系统

需积分: 13 1 下载量 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语法和控制流程的良好起点。