2401_83701689 2024-05-27 20:45 采纳率: 0%
浏览 1

有一个java代码怎么打

(2)查询并输出所有科目不及格的人数及名单。

    输出格式为:

    英语成绩不及格的有:张三、李四、王五,总共有3人

    高数成绩不及格的有:张三,总共有1人

    体育成绩不及格的有:张三丰、张无忌,总共有2人

提示:

(1)定义的学生类:包括属性、属性的getter、setter方法。

(2)类中其他方法可自由发挥,比如打印学生信息的方法(如print()或toString())

(3)自己定义包含main方法的类,类中定义2个方法,分别用来实现按名字查询成绩、查找不及格人数并打印不及格名单的功能。
  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-05-27 20:45
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    这是一个典型的面向对象编程练习题,下面我将提供一个简单的Java代码示例来满足你的需求。请注意,这个示例仅用于演示目的,实际应用中可能需要更多的功能和错误处理。

    首先,我们定义一个学生类Student,包含学生的姓名和成绩,以及相应的getter和setter方法。

    public class Student {
        private String name;
        private double score;
        private String subject;
    
        public Student(String name, double score, String subject) {
            this.name = name;
            this.score = score;
            this.subject = subject;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public double getScore() {
            return score;
        }
    
        public void setScore(double score) {
            this.score = score;
        }
    
        public String getSubject() {
            return subject;
        }
    
        public void setSubject(String subject) {
            this.subject = subject;
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", score=" + score +
                    ", subject='" + subject + '\'' +
                    '}';
        }
    }
    

    接下来,我们定义一个类GradeBook,它包含main方法和两个方法:一个用于按名字查询成绩,另一个用于查找并打印每个科目不及格的学生名单及人数。

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class GradeBook {
        public static void main(String[] args) {
            List<Student> students = new ArrayList<>();
            students.add(new Student("张三", 59, "英语"));
            students.add(new Student("李四", 45, "英语"));
            students.add(new Student("王五", 67, "英语"));
            students.add(new Student("张三", 70, "高数"));
            students.add(new Student("张三丰", 58, "体育"));
            students.add(new Student("张无忌", 44, "体育"));
    
            printFailingStudents(students);
        }
    
        public static void printFailingStudents(List<Student> students) {
            Map<String, List<String>> failingStudents = new HashMap<>();
    
            for (Student student : students) {
                if (student.getScore() < 60) {
                    List<String> names = failingStudents.getOrDefault(student.getSubject(), new ArrayList<>());
                    names.add(student.getName());
                    failingStudents.put(student.getSubject(), names);
                }
            }
    
            for (Map.Entry<String, List<String>> entry : failingStudents.entrySet()) {
                System.out.println(entry.getKey() + "成绩不及格的有:" + String.join("、", entry.getValue()) + ",总共有" + entry.getValue().size() + "人");
            }
        }
    }
    

    在这个示例中,GradeBook类中的main方法创建了一个学生列表,并填充了一些示例数据。printFailingStudents方法遍历学生列表,将不及格的学生姓名按科目分类存储在failingStudents映射中,然后打印出每个科目的不及格学生名单和人数。

    关于参考资料,你可以查阅Java的官方文档来了解更多关于类、对象、集合等概念,以及如何使用Java标准库中的ListMap接口。这里提供一个链接到Oracle的Java官方文档:

    Oracle Java SE Documentation

    希望这个示例能帮助你理解如何实现这个功能。如果你有任何问题或需要进一步的帮助,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月27日

悬赏问题

  • ¥15 有什么好的直流步进减速电机42的厂家推荐,保持力矩达到0.3N.M
  • ¥15 IBS个体遗传距离计算
  • ¥15 一道蓝桥杯的题,请问我错在哪里
  • ¥15 关于#android问题,xposed模块找不到so
  • ¥15 UE5.4.2创建C++项目成功,但是编译失败
  • ¥15 华为手机备份nas,airdisk,遇到的空间不足问题。求个详细的解决方案。
  • ¥20 Cknife无法使用
  • ¥15 这个结构体为什么会出错呢?
  • ¥15 ROH绘图及近交系数的计算
  • ¥15 手动下载基因拼接数据库的渠道