求助!!!!!!
243查看
lanqiao1681635046
38
2025-02-23 12:55

求助

[这个课题怎么都编译不过] (https://www.lanqiao.cn/courses/9115/learning/?id=455317&compatibility=false)

package org.lanqiao.test;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ScoreException extends Exception {
    public ScoreException(String message) {
        super(message);
    }
}

class Student {
    private String name;
    private double score;

    public Student() {
    }

    public Student(String name, double score) throws ScoreException {
        setName(name);
        setScore(score);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) throws ScoreException {
        if (score > 150 || score < 0) {
            throw new ScoreException("成绩设置为:" + score + "不合理!");
        } else {
            this.score = score;
        }
    }
}

public class Test {
    public static void main(String[] args) {
        List<String> allMessages = new ArrayList<>(); // 用于存储所有成绩设置信息

        Scanner scanner = new Scanner(System.in);

        try {
            // 输入第一个学生信息
            System.out.println("请输入第一个学生姓名:");
            String name1 = scanner.nextLine();
            System.out.println("请输入第一个学生成绩:");
            double score1 = scanner.nextDouble();
            scanner.nextLine(); // 清除换行符

            try {
                new Student(name1, score1); // 尝试创建学生对象
                allMessages.add("成绩设置为:" + score1 + "合理。"); // 成绩合理时记录消息
            } catch (ScoreException e) {
                allMessages.add(e.getMessage()); // 成绩不合理时记录异常消息
            }

            // 输入第二个学生信息
            System.out.println("请输入第二个学生姓名:");
            String name2 = scanner.nextLine();
            System.out.println("请输入第二个学生成绩:");
            double score2 = scanner.nextDouble();

            try {
                new Student(name2, score2); // 尝试创建学生对象
                allMessages.add("成绩设置为:" + score2 + "合理。"); // 成绩合理时记录消息
            } catch (ScoreException e) {
                allMessages.add(e.getMessage()); // 成绩不合理时记录异常消息
            }
        } finally {
            scanner.close();
        }

        // 最后统一输出所有成绩设置信息
        for (String message : allMessages) {
            System.out.println(message);
        }
    }
}
copy

能否帮我检查哪里错了。 感谢大家。

java , 课程问题 , 题解 , 常见问题 , 问与答
全部回复(1)
lanqiao1681635046
38
2025-02-23 12:58

图片描述 图片描述 以上是题目要求

回复
你的回复