Java中用int数组存成绩并算平均分:先定义初始化int数组,遍历求和后转double除法避免截断,再保留小数位;注意成绩超范围或含小数时应改用double数组。

在 Java 中,用 int 数组存储学生成绩并计算班级平均分,关键在于:数组存放整数成绩、遍历求和、用 double 类型避免整数除法截断,最后保留合适的小数位。
定义并初始化成绩数组
根据学生人数声明一个 int 数组,直接初始化或逐个赋值:
- 若已知全部成绩,推荐直接初始化:
int[] scores = {85, 92, 78, 96, 88}; - 若需运行时输入,可用循环配合
Scanner赋值:
scores[i] = scanner.nextInt(); - 注意:
int类型适合存储 0–100 的整数成绩;如有小数(如 89.5),应改用double[]
遍历数组求总分
用增强 for 循环或传统 for 循环累加所有成绩:
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
- 推荐增强 for(简洁安全):
int sum = 0;
for (int score : scores) { sum += score; } - 传统 for 便于同时获取索引(如需判断缺考/无效成绩):
for (int i = 0; i = 0 && scores[i]
计算并输出平均分(注意类型转换)
平均分本质是总分 ÷ 人数,必须转为 double 避免整除丢失小数:
- 正确写法:
double average = (double) sum / scores.length; - 错误写法(整数除法):
double average = sum / scores.length; // 结果仍是整数,如 450/5=90.0,但 451/5=90.0(非90.2) - 格式化输出(保留一位小数):
System.out.printf("班级平均分:%.1f%n", average);
补充建议:处理边界情况
实际使用中建议增加简单校验:
- 检查数组是否为空:
if (scores.length == 0) { System.out.println("无成绩数据"); return; } - 过滤异常值(如负分、超过100)可在求和时跳过,避免拉低/拉高平均分
- 如需后续统计(最高分、及格率),可复用同一数组,无需额外存储
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










