(1)应用数组或ArrayList实现某班级所有学生的成绩管理,要求构建学生(Student)类(包含学号、姓名、出生年月、和成绩等),应用Comparable接口或Compartor实现成绩比较,能够对所有学生按成绩排序并输出。 (2)程序检查成绩输入值,如果不是数值信息,或是负的数值信息,或超过成绩范围(100),抛出相应的异常。在抛出异常之前应提供详细的信息说明,从而使使用该程序的用户了解所出现的问题,同时考虑上述异常出现时程序应该如何处理。
时间: 2024-03-02 18:49:14 浏览: 42
这是一个关于Java编程的问题,很适合我们进行讨论。
首先,我们可以创建一个Student类来管理每个学生的信息,包括学号、姓名、出生年月和成绩等属性。可以使用数组或ArrayList来存储所有学生的信息,然后通过实现Comparable接口或Compartor来对学生按成绩排序并输出。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Student implements Comparable<Student> {
private String id;
private String name;
private String birth;
private int score;
public Student(String id, String name, String birth, int score) {
this.id = id;
this.name = name;
this.birth = birth;
this.score = score;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getBirth() {
return birth;
}
public int getScore() {
return score;
}
@Override
public int compareTo(Student s) {
return this.score - s.score;
}
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
students.add(new Student("001", "张三", "1999-01-01", 90));
students.add(new Student("002", "李四", "1998-02-02", 80));
students.add(new Student("003", "王五", "1997-03-03", 70));
Collections.sort(students);
for (Student s : students) {
System.out.println(s.getId() + " " + s.getName() + " " + s.getBirth() + " " + s.getScore());
}
}
}
```
在上面的示例代码中,我们实现了Comparable接口来比较学生的成绩,并使用Collections.sort()方法对所有学生按成绩排序。
对于输入值的检查和异常处理,我们可以在Student类的构造函数中添加相应的逻辑。如果输入值不是数值信息、负数或超过成绩范围,我们就抛出相应的异常并提供详细的信息说明。下面是一个示例代码:
```java
public Student(String id, String name, String birth, int score) throws Exception {
this.id = id;
this.name = name;
this.birth = birth;
if (score < 0 || score > 100) {
throw new Exception("成绩必须在0到100之间!");
}
this.score = score;
}
```
在上面的示例代码中,如果成绩小于0或大于100,就会抛出一个Exception异常并提供详细的信息说明。在使用该程序的用户调用构造函数时,需要捕获该异常并进行相应的处理。
希望这些代码对您有所帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)