From e19a0657db383316f4a2532260eca15f3f07660e Mon Sep 17 00:00:00 2001 From: Lixinyi <3382734605@qq.com> Date: Thu, 23 Apr 2026 15:30:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit W7-李鑫怡-202506050312 --- ScoreAverage.class | Bin 0 -> 2453 bytes ScoreAverage.java | 52 +++++++++++++++++++++++++++++++++++++++++++++ scores.txt | 5 +++++ 3 files changed, 57 insertions(+) create mode 100644 ScoreAverage.class create mode 100644 ScoreAverage.java create mode 100644 scores.txt diff --git a/ScoreAverage.class b/ScoreAverage.class new file mode 100644 index 0000000000000000000000000000000000000000..7cada3cd58bb292879347b3a2ad889125a17eb1f GIT binary patch literal 2453 zcmaJ?>r)d~6#rdF*boMv`p0*`W041BAA= z;EYgpe2%Tyb`&2SK%n+Zryu&YQ~M9F3w_M^xt)&o+-!hQX_>J1an3!D-}&8he|$3Z z5I`wT*%5UtND#c4-W8MIOIL+sqJ~le<@djbUC`$)n^K zhZ-7WRd(-|CAX{!uroL&WMv+&Z0_42GT4JIMU{hj+ELApc+BSh5*bo*DyBR-HPz#9 zEX>_&hkzum;b2IPXplS8Ttq%sL<;6H*i>>};ql81b8~W^wPr^e(gn;Hk-^oY5;Wa0 zSjer9t1S?*5Q`WDPq5S%&|1PN*V(Zc&k1;5#1dpPBu&Lz?$_i-S)~{Pk{Xn0`5y_D z$730C1mucXjuq2`XbEbvk31HmqmJGL8-F9j6|TT*!7m z9yzT)xUXMok8I?vX~_0-KsJcjhyps&Q zOH!lk0K*<${JjiIqm547mZKob>0LMUTj%tP zH>t!%N6+{`pZ>7b+&6ArAG>y2Kpn%PDY93EeD$(grl>win~d3p*BOdU;Ebyy`bg)m zXU~uK^$~d{f!0sA>0MtNpItTXcaQg8H!gRL4h|XJ-_WVC3$6O8HvRSkJ8H4pL9J+y zfP)k8gu$M4Wyb-o5{o^2<`yCI3MGcA;nXBoQ;jOQs8)>(qLcTUZOyVu_|g3?QQR~n z@+M(sQNyc80-xmZbLK{KXaZJ(J0WbhQVN9i1(0s?460NvrxH?KGH-d*AfmnJaR7<- z#fqW@HB|~!%Gx2t9khYp*zvw$y|YK}xRb@QMhCw#X=p=;Vlv?~6(%udHXI>i=6byE zhHa%qZ6X3s@aE~04Wuv7B8y>f6#g`zZt0)@}gFluMo!J3wUJcD{PvePee zm!lL^m!d-~>bVGdax^s(@C8h5xTgO~=fOdR+tYlK;if zO{7PXzK3YFfJR26b@>3;U79d>=*z{lNl)BiG|`+?*&ozW1ls*QwkUSfFofD+#Me4z z4Ip6vbE;PMBe}M~@&lHoTl$e&VBtgNdBpWT9ZR^c6Ft;hk&Y5%Vh2^Bir(xx(rl*lEmW=J$R@8M*;}@)gLDql6T6igfEl7BR6vn7zeGQ!;N857h8i3xAu#-=jE2ay!Y6 J<0RUU{tslS-p&93 literal 0 HcmV?d00001 diff --git a/ScoreAverage.java b/ScoreAverage.java new file mode 100644 index 0000000..f99c1b3 --- /dev/null +++ b/ScoreAverage.java @@ -0,0 +1,52 @@ +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; + +public class ScoreAverage { + public static void main(String[] args) { + // 1. 定义变量:总分、有效成绩数量 + int sum = 0; + int count = 0; + + // 2. 使用 try-with-resources 自动关闭流,确保文件一定被关闭 + try (BufferedReader br = new BufferedReader(new FileReader("scores.txt"))) { + String line; + while ((line = br.readLine()) != null) { + // 去除首尾空格,避免空行或空格干扰 + line = line.trim(); + if (line.isEmpty()) { + continue; // 跳过空行 + } + + // 3. 解析数字并累加 + int score = Integer.parseInt(line); + sum += score; + count++; + } + + // 4. 计算并输出平均分(避免除以0) + if (count > 0) { + double average = (double) sum / count; + System.out.println("读取到 " + count + " 个成绩"); + System.out.printf("总分:%d,平均分:%.2f%n", sum, average); + } else { + System.out.println("文件中没有有效成绩数据"); + } + + // 异常1:文件不存在/路径错误 + } catch (IOException e) { + System.out.println("文件读取错误:" + e.getMessage()); + System.out.println("请检查 scores.txt 文件是否存在,或路径是否正确"); + + // 异常2:数字格式错误(比如文件里有非数字内容) + } catch (NumberFormatException e) { + System.out.println("数据格式错误:文件中包含无法解析为整数的内容"); + System.out.println("错误详情:" + e.getMessage()); + + // 兜底异常,捕获其他意外错误 + } catch (Exception e) { + System.out.println("程序发生意外错误:" + e.getMessage()); + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/scores.txt b/scores.txt new file mode 100644 index 0000000..6d371a5 --- /dev/null +++ b/scores.txt @@ -0,0 +1,5 @@ +85 +92 +78 +90 +88 \ No newline at end of file