当前位置: 首页 > news >正文

如何在Java中实现成绩分析小程序

Java中的成绩分析小程序主要通过定义学生的数据结构、输入结果、计算统计信息(如平均分、最高分、最低分)和输出结果来实现。整个过程不需要复杂的框架,可以通过使用基本语法和集合类来完成。下面是如何构建这样一个实用的小程序。

定义学生和成绩数据结构

首先,创建一个简单的类别来表示学生信息,包括姓名和分数:

class Student { String name; double score; <pre class='brush:java;toolbar:false;'>public Student(String name, double score) { this.name = name; this.score = score; }

}

这种类型很容易将多个学生对象存储在集合中统一处理。

输入结果并存储在集合中

使用 ArrayList 通过存储多个学生对象,存储多个学生对象 Scanner 接收用户输入:

import java.util.ArrayList; import java.util.Scanner; <p>ArrayList<Student> students = new ArrayList<>(); Scanner input = new Scanner(System.in);</p><p>System.out.print("请输入学生人数:"); int count = input.nextInt();</p><p>for (int i = 0; i < count; i++) { System.out.print("第" + (i+1) + "学生姓名:"); String name = input.next(); System.out.print("成绩:"); double score = input.nextDouble(); students.add(new Student(name, score)); }</p>

这样,数据的收集和存储就完成了。

常用分析指标的计算

计算平均分、最高分、最低分,并记录相应学生的姓名:

double sum = 0; double maxScore = students.get(0).score; double minScore = students.get(0).score; String topStudent = students.get(0).name; String lowStudent = students.get(0).name; <p>for (Student s : students) { sum += s.score; if (s.score > maxScore) { maxScore = s.score; topStudent = s.name; } if (s.score < minScore) { minScore = s.score; lowStudent = s.name; } }</p><p>double average = sum / students.size();</p>

这些统计值能直观地反映整体学习情况。

输出分析结果

格式化输出计算结果,提高可读性:

System.out.println("\n--- 分析结果 ---"); System.out.printf("总人数:%d\n", students.size()); System.out.printf("平均分:%.2f\n", average); System.out.printf("最高分:%.2f (%s)\n", maxScore, topStudent); System.out.printf("最低分:%.2f (%s)\n", minScore, lowStudent);

加上简单的格式控制,结果显示更清晰。

基本上就是这样。这个小程序结构清晰,适合初学者练习面向对象的编程和集合操作。后续功能也可以扩展,如根据分数段统计人数、判断是否通过、保存到文件等。不复杂但容易忽略细节,如输入验证和边界处理。建议在实际使用中添加 try-catch 防止输入异常。


http://www.jsqmd.com/news/530244/

相关文章:

  • EVA-01开源大模型教程:Qwen2.5-VL-7B视觉编码器特征图可视化与调试技巧
  • Qwen3-TTS-Tokenizer-12Hz开箱即用:Web UI支持中文语音提示与操作引导
  • 基于模糊PID桥式起重机防摇控制设计 基于模糊PID桥式起重机防摇控制设计 1.基本内容
  • Switch NAND管理终极指南:NxNandManager让你的Switch数据安全无忧
  • 在树莓派4B(Ubuntu 22.04)上从源码编译FISCO BCOS 2.11.0:一个ARM开发者的踩坑实录
  • 历史事件因果推演:DeepSeek-R1时间线建模尝试
  • Onekey:如何快速获取Steam清单文件的完整指南
  • 咱直接上硬菜,一个西门子1200控5轴的工业项目,搭台达B2伺服+威纶通屏,整套从PLC程序到电气图、屏程序全齐,模块化做得飞起,分享点实打实的操作细节
  • DeepSeek-R1-Distill-Qwen-1.5B一键部署:脚本自动化启动服务教程
  • 避坑指南:鲁班猫4 Ubuntu系统下,I2C驱动OLED并设置开机自启的完整流程与常见问题
  • doctl性能优化:如何快速执行复杂API操作
  • 从Eclipse到μVision:拆解CCS和Keil这两款IDE,为何一个‘重’一个‘轻’?
  • 环保储水罐直销哪家好?2026年推荐这些厂家,市场有名的环保储水罐推荐技术引领与行业解决方案解析 - 品牌推荐师
  • 5分钟快速上手PDF补丁丁:免费PDF处理工具的完整指南 [特殊字符]
  • 不同行业从业者从不同角度认知的“小数据”(之二)
  • 手机号与QQ号智能关联:phone2qq工具的技术实现与场景应用指南
  • 系统恢复终极利器:Rescuezilla完整使用指南
  • 高效获取抖音无水印视频:全平台解决方案与技术实践指南
  • 终极Windows Cleaner指南:5分钟解决C盘爆红,一键释放20GB空间
  • 智慧大厅:AI 感知、智能引导与无感服务实践
  • java毕业设计基于SSM的汽车维修管理系统ynj1qg08
  • Nanbeige4.1-3B显存优化教程:vLLM量化加载+KV Cache压缩降低GPU占用
  • 别再被Seata-server.bat闪退搞心态了!手把手教你排查内存与配置问题(附Nacos 1.4.1配置)
  • 必看!Sebastian Raschka新博客盘点了所有主要注意力机制
  • 计算机毕业设计:美食菜谱数据挖掘与可视化分析平台 Django框架 爬虫 机器学习 数据分析 可视化 食物 食品 菜谱(建议收藏)✅
  • Z-Image-GGUF企业应用:电商海报、社交配图、PPT插图多场景落地案例
  • 嵌入式C++计时器类设计:Stoperica原理与实践
  • 立知多模态重排序模型场景应用:内容推荐系统搭建指南
  • 造相 Z-Image 部署指南:平台实例健康检查项(显存/端口/响应码)清单
  • 基于Qt C++开发一套服务过程监控系统