创建一个Student类,其属性包括学号和成绩。在main函数中建立一个Student对象数组,内放5个学生对象,输入这5个学生对象的学号和成绩,并调用函数max找出这5个学生中成绩最高者,输出其学号和成绩。max函数用指向Student对象的指针做函数参数。
时间: 2024-10-27 20:08:31 浏览: 27
建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数。声明一个学学生对象。然后调用成员函数在屏幕输出学生信息。
4星 · 用户满意度95%
首先,我们创建一个名为`Student`的类,包含学号和成绩两个属性。然后在`main`函数中,我们会声明一个`Student`对象的数组,并初始化它们。接着,我们将编写一个`max`函数,接受一个指向`Student`对象的指针作为参数,遍历数组找到成绩最高的学生并返回其信息。
```java
public class Student {
private int studentId;
private double score;
// 构造函数
public Student(int id, double s) {
this.studentId = id;
this.score = s;
}
// 获取学号和成绩的方法
public String getStudentInfo() {
return "学号: " + studentId + ", 成绩: " + score;
}
// max函数,用于找出成绩最高的学生
public static Student findMax(Student[] students) {
if (students == null || students.length == 0) {
throw new IllegalArgumentException("数组为空");
}
Student maxStudent = students[0];
for (int i = 1; i < students.length; i++) {
if (students[i].score > maxStudent.score) {
maxStudent = students[i];
}
}
return maxStudent;
}
public static void main(String[] args) {
// 初始化Student对象数组
Student[] students = new Student[5];
for (int i = 0; i < 5; i++) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第" + (i+1) + "位学生的学号:");
int id = scanner.nextInt();
System.out.println("请输入第" + (i+1) + "位学生的成绩:");
double score = scanner.nextDouble();
students[i] = new Student(id, score);
}
// 调用findMax函数获取成绩最高的学生信息
Student max = findMax(students);
System.out.println("成绩最高的学生信息为: " + max.getStudentInfo());
}
}
```
阅读全文