From bd6c81f3f85046f1a3fa08fc234cb4cbafc3d67e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?=
<2847127106@qq.com>
Date: Thu, 8 Aug 2024 09:16:54 +0800
Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E8=80=8319?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 35 ++++++++++++++
pom.xml | 24 ++++++++++
src/main/java/com/bw/domain/StuAvg.java | 22 +++++++++
src/main/java/com/bw/domain/Student.java | 23 +++++++++
src/test/java/com/bw/day19.java | 61 ++++++++++++++++++++++++
5 files changed, 165 insertions(+)
create mode 100644 .gitignore
create mode 100644 pom.xml
create mode 100644 src/main/java/com/bw/domain/StuAvg.java
create mode 100644 src/main/java/com/bw/domain/Student.java
create mode 100644 src/test/java/com/bw/day19.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3e403e3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,35 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..927bf5d
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,24 @@
+
+
+ 4.0.0
+
+ com.bw
+ day19
+ 1.0-SNAPSHOT
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.34
+
+
+
diff --git a/src/main/java/com/bw/domain/StuAvg.java b/src/main/java/com/bw/domain/StuAvg.java
new file mode 100644
index 0000000..2ec94a3
--- /dev/null
+++ b/src/main/java/com/bw/domain/StuAvg.java
@@ -0,0 +1,22 @@
+package com.bw.domain;
+
+
+import lombok.*;
+
+/**
+ * @Author: 胡杨
+ * @Name: StuAvg
+ * @Description: 学生平均成绩表
+ * @CreatedDate: 2024/8/8 上午8:41
+ * @FilePath: com.bw.domain
+ */
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+public class StuAvg {
+ private String name;
+ private Double score;
+ private Integer num;
+}
diff --git a/src/main/java/com/bw/domain/Student.java b/src/main/java/com/bw/domain/Student.java
new file mode 100644
index 0000000..8e6fc1a
--- /dev/null
+++ b/src/main/java/com/bw/domain/Student.java
@@ -0,0 +1,23 @@
+package com.bw.domain;
+
+import lombok.*;
+
+/**
+ * @Author: 胡杨
+ * @Name: Student
+ * @Description: 学生类
+ * @CreatedDate: 2024/8/8 上午8:37
+ * @FilePath: com.bw.domain
+ */
+
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+public class Student {
+ private Integer id;
+ private String name;
+ private String subjects;
+ private Double score;
+}
diff --git a/src/test/java/com/bw/day19.java b/src/test/java/com/bw/day19.java
new file mode 100644
index 0000000..9e18cef
--- /dev/null
+++ b/src/test/java/com/bw/day19.java
@@ -0,0 +1,61 @@
+package com.bw;
+
+/**
+ * @Author: 胡杨
+ * @Name: day19
+ * @Description: 日考19
+ * @CreatedDate: 2024/8/8 上午8:36
+ * @FilePath: com.bw
+ */
+
+
+import com.bw.domain.StuAvg;
+import com.bw.domain.Student;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @Author: 胡杨
+ * @Name: day19
+ * @Description: 日考19
+ * @CreatedDate: 2024/8/8 上午8:36
+ * @FilePath: com.bw
+ */
+
+public class day19 {
+ public static void main(String[] args) {
+ // 学生成绩
+ List students = new ArrayList<>();
+ students.add(new Student(1, "张三","语文", 90.0));
+ students.add(new Student(2, "张三","英语", 55.0));
+ students.add(new Student(3, "张三","数学", 99.0));
+ students.add(new Student(4, "李四","语文", 20.0));
+ students.add(new Student(5, "李四","英语", 12.0));
+ students.add(new Student(6, "李四","数学", 43.0));
+
+ // 使用stream流获取学生成绩
+ HashMap hmap = new HashMap<>();
+ students.stream().sorted().map(stu -> {
+ int n = 0;
+ for (String key : hmap.keySet()) {
+ if (stu.getName().equals(key)){
+ n = 1;
+ }
+ }
+ if (n == 0){
+ hmap.put(stu.getName(),stu.getScore());
+ }else{
+ hmap.put(stu.getName(),hmap.get(stu.getName())+stu.getScore());
+ }
+
+ return stu;
+ });
+
+ // 输出学生成绩
+ hmap.forEach((k,v) -> {
+ System.out.println(k + " " + v/3);
+ });
+ }
+}