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); + }); + } +}