Java制作成绩统计图表_数据整理与控制台可视化输出

答案是通过数组统计成绩频次并用字符绘制控制台柱状图。首先定义成绩区间与计数数组,遍历学生成绩按分数段累加频次,再以星号数量表示人数输出柱状图,每行标注区间和具体数值,增强可读性,最后可扩展统计平均分等信息。

java制作成绩统计图表_数据整理与控制台可视化输出

在Java中实现成绩统计图表的生成,可以通过数据整理与控制台可视化输出的方式完成。这种方式不需要依赖图形库,适合学习基础数据处理和字符绘图技巧。

数据准备与成绩区间划分

要统计学生成绩分布,先要有原始数据。通常成绩是0到100之间的整数。我们可以使用一个数组或集合来存储这些成绩。

接下来将成绩划分为若干区间,常见的是每10分一个段,如:

0-910-1920-29…90-99100

每个区间对应一个计数器,用于统计落在该范围内的成绩数量。

立即学习“Java免费学习笔记(深入)”;

统计频次并构建分布表

遍历成绩列表,根据每个成绩所属区间累加计数。可以使用长度为11的数组(对应0~100分共11个区间)来记录频次。

示例代码片段:

int[] scores = {85, 92, 78, 63, 90, 88, 74, 100, 55, 42, 70, 80};int[] bins = new int[11]; // 每个元素代表一个分数段的计数

for (int score : scores) {if (score >= 0 && score <= 100) {bins[score / 10]++;}}

这样bins[8]就表示80-89分之间的人数,bins[10]表示100分的人数。

ImagetoCartoon ImagetoCartoon

一款在线AI漫画家,可以将人脸转换成卡通或动漫风格的图像。

ImagetoCartoon 106 查看详情 ImagetoCartoon

控制台柱状图输出

利用字符“*”或“#”在控制台绘制简易柱状图。每一行代表一个分数段,星号数量代表人数。

输出示例:

0-9  : 10-19: 20-29: 30-39: 40-49: *50-59: **60-69: *70-79: ***80-89: ***90-99: **100  : *

实现方式:

String[] labels = {"0-9", "10-19", "20-29", "30-39", "40-49",                   "50-59", "60-69", "70-79", "80-89", "90-99", "100"};

for (int i = 0; i < bins.length; i++) {System.out.print(labels[i] + ": ");for (int j = 0; j < bins[i]; j++) {System.out.print("*");}System.out.println();}

增强可读性:添加数字标注

为了更清晰,可以在每行末尾显示具体人数。

修改输出部分:

for (int i = 0; i < bins.length; i++) {    System.out.print(String.format("%-5s: ", labels[i]));    for (int j = 0; j < bins[i]; j++) {        System.out.print("*");    }    System.out.println(" (" + bins[i] + ")");}

输出效果:

0-9  : (0)10-19: (0)...80-89: *** (3)

基本上就这些。通过简单的数组统计和循环输出,就能在控制台实现直观的成绩分布图。虽然不如GUI图表美观,但对理解数据处理流程很有帮助。不复杂但容易忽略细节,比如边界判断和格式对齐。实际应用中也可以扩展支持更多统计信息,如平均分、最高分、最低分等。

以上就是Java制作成绩统计图表_数据整理与控制台可视化输出的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1086451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 09:40:17
下一篇 2025年12月2日 09:40:39

相关推荐

发表回复

登录后才能评论
关注微信