如何编写Java程序生成姓名与整数平均值表格并修正现有代码
修正后的Java代码
import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; public class Average { public static void main(String[] args) { // 读取命令行传入的条目数量 int entryCount = Integer.parseInt(args[0]); for (int i = 0; i < entryCount; i++) { // 单次读取一行对应的姓名和三个整数 String name = StdIn.readString(); int score1 = StdIn.readInt(); int score2 = StdIn.readInt(); int score3 = StdIn.readInt(); // 计算当前条目的平均值 double average = (score1 + score2 + score3) / 3.0; // 按要求格式化输出 StdOut.printf("%s %d %d %d %.2f%n", name, score1, score2, score3, average); } } }
关键改动说明
- 命令行参数处理:将传入的第一个参数转为整数,代表需要处理的条目总数,适配你通过命令行指定数量的需求
- 逐行处理逻辑:循环读取对应数量的输入,每次读取1个姓名+3个整数,无需存储全量历史数据,逻辑更简单适合新手理解
- 单条平均值计算:每次单独计算当前行三个整数的平均值,替代原代码统计所有输入数字总平均值的逻辑
- 格式化输出:使用
printf指定输出格式,依次对应姓名、三个整数、保留两位小数的平均值,和你预期的输出效果完全匹配
运行操作和你之前的习惯一致,输入完对应数量的条目后按Ctrl+Z+回车即可触发输出。
内容的提问来源于stack exchange,提问作者gizmo.java
相关产品推荐
相关产品推荐

