求助!!!!!!
243查看
求助
[这个课题怎么都编译不过] (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
能否帮我检查哪里错了。 感谢大家。
#学习讨论
| 关注
你的回复
请
登录
后回复