From ad75b6d1f6ea2630ee5246688f309ebf84fdce83 Mon Sep 17 00:00:00 2001
From: ZhengShiyi <1980003269@qq.com>
Date: Sun, 19 Apr 2026 23:59:57 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0W7=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
W7/ScoreAverage.java | 44 +++++++++++++++++++++++++++++++++++++++++
W7/ScoreFileReader.iml | 11 +++++++++++
W7/desktop.ini | 2 ++
W7/scores.txt | 5 +++++
W7/重构前代码.png | Bin 0 -> 92078 bytes
5 files changed, 62 insertions(+)
create mode 100644 W7/ScoreAverage.java
create mode 100644 W7/ScoreFileReader.iml
create mode 100644 W7/desktop.ini
create mode 100644 W7/scores.txt
create mode 100644 W7/重构前代码.png
diff --git a/W7/ScoreAverage.java b/W7/ScoreAverage.java
new file mode 100644
index 0000000..5de4c5e
--- /dev/null
+++ b/W7/ScoreAverage.java
@@ -0,0 +1,44 @@
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class ScoreAverage {
+ public static void main(String[] args) {
+ String fileName = "scores.txt";
+ int sum = 0;
+ int count = 0;
+
+ // try-with-resources 自动关闭文件流
+ try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
+ String line;
+ while ((line = br.readLine()) != null) {
+ line = line.trim();
+ if (line.isEmpty()) {
+ continue; // 跳过空行
+ }
+
+ // 处理数字格式错误
+ try {
+ int score = Integer.parseInt(line);
+ sum += score;
+ count++;
+ } catch (NumberFormatException e) {
+ System.err.println("警告:无法解析为整数,跳过该行内容:" + line);
+ }
+ }
+
+ // 计算并输出平均分
+ if (count > 0) {
+ double average = (double) sum / count;
+ System.out.printf("总分:%d,有效成绩数:%d,平均分:%.2f%n", sum, count, average);
+ } else {
+ System.out.println("文件中没有有效的成绩数据。");
+ }
+
+ } catch (IOException e) {
+ // 处理文件不存在、读取错误等IO异常
+ System.err.println("文件操作出错:" + e.getMessage());
+ e.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/W7/ScoreFileReader.iml b/W7/ScoreFileReader.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/W7/ScoreFileReader.iml
@@ -0,0 +1,11 @@
+
+
1up|{X`Kw9X%_Z|od
zaN{|i^E}V*{_cDKdB;0`<6UDg$j;u`*?XC
zVRE3M-RpRWiF!w#lr10i58XvwP8zLjm}UpH@xVe#SqcrUG8z|Ygn`<|c6_7df`&%W
z`Rfn8*WtS<8roffyo}U4PyPJ`58cU0`reZ%Sq!zu=-n+4zDqh`1-46^!6E;GqC_+6
zxvG`&7lYMRr-h05)YhG`tE`tFbeFrneiwTA@{!CY{Km=Ycw==rH@6iS-FrEDfe_xx
zI=YGS+3{^%a ?`Q7%%7
z_2yv^Na+~K?c{aQfY)WJW|Ob=iNebHyV^PWW(a~gMY#<+pU2Lb_!cop_@)mK!fYQW
zrXvIBBa9uF*VNa9QV$9>m^UIEYr%4Pfd%k+wRisTffL<|dhv2Ql56tkkNYpqAIJ(M
zf8W;R5c#g#&**IsSC9X-pqzjW!dGS+uo}vJdd*cZAg-EwXrM`3{}56qvImJP0<%7x
zSm+_RV>@$)XgQ=M>m(?<4AJ^*gtgXZl=nQ>)W-mYlZ0uUCpZys?C0C*s7lZ^mT2>5
zHWQ51&|mykRa?CM;w463gN@AM6dixG`;33Qn5jP~P_+mQx}xQVJI?7w0C06>&1@55
z&5C0rAh~i4_JycC_Wk*nwzUgHm8Cwy%qY826nyj@5G=K4C{h{zefpRXy*@H@*(c5<
z3}t77tmqXL0q*@O@U~W+jP2!}Tg3||F{!5VWdZk77PZ?g9|Q+T8B9XAkpO_YflTnN
z+b27E81KnB*=%F%GoM*}aMFvxV~X_J&)!9>$%Y&M{Y@%aEU-8 AGukXT9E~TgiD!^}dRsQD@fBOY(;uGJNs?Ts?}}
z8WlXDu|qL+0Y(R$2lkuwBu|ZR#FL@!rKP;2jll7L);kh%UEdMYrVwg&vnLiO6
z6co5|$V3K|Vq86_{8n#Gu`KugJ
zO)?|P2qLNeR~ZVDY%dvq4aK*-zvSTSJZ@gEV7lcX^`B5cmQk9_D?t%(|4LAl{+FN#
zU)>8YDALuw$M`igUT72RRlD1K8&P!WTWj>P3|DG76K{T9Dtl2pVh-{#9v;cy(60^R
zt5WlKN~J*Nn!qa4!*f#bU%5CwBU_u)Ax(y8XOrf}03Bbg`J
za{0bv4(cFK>d)%>;petoVEbYR%Ay_wxv5o$pRd#GuR`vOR{MaSzJ2;CXtZi=xd&05
zue5e07ioFX8}u0q0lP;C1+|+Q>A9Ezz*HI-%!EF!@ml6
zlQRg1KGsZk`}X$&;}9eA>wN~l^x-Of%Mxqb2d{hB3qe?zG4g6+yzhml;o8t5_pYrk
z%Pv`w^2z%ZJ&TO5qA4GSpuEI*R01J;i(I427c54dt&ysv63$;#B+p+3f)2VdX{zSy
zQICF&vtkhyS!mX@Q#3$z=3pcei746r=H-X6J-PlPGEte`cdj|`{j)NQ^!_6QQsr&5
z*qR+yj-$~U9zQ2rQ%7@w?rEo~P0Mw&`K%Ve+-bdSC8a