用java 在课上讲的Student类基础上,添加一个成绩score整型数组;增加一个求成绩的最高分的方法,可以同时验证参数的址传递。在main函数中,实例化自己(学号,姓名,年龄,成绩),并获得最高分;
时间: 2024-05-11 08:16:15 浏览: 89
好的,感谢您的提问。以下是我对您的问题给出的解答:
您可以在原有的Student类中新增一个成绩score整型数组,并增加一个求成绩最高分的方法,代码如下:
```
public class Student {
private String stuNo; // 学号
private String name; // 姓名
private int age; // 年龄
private int[] score; // 成绩
// 构造函数
public Student(String stuNo, String name, int age, int[] score) {
this.stuNo = stuNo;
this.name = name;
this.age = age;
this.score = score;
}
// 求成绩最高分方法
public int getMaxScore() {
int max = score[0];
for (int i = 1; i < score.length; i++) {
if (score[i] > max) {
max = score[i];
}
}
return max;
}
// 验证参数的址传递方法
public void testReferenceTrans(Student s) {
s.setAge(18);
s.setName("Tom");
s.getScore()[0] = 95;
}
// getter和setter方法
public String getStuNo() {
return stuNo;
}
public void setStuNo(String stuNo) {
this.stuNo = stuNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int[] getScore() {
return score;
}
public void setScore(int[] score) {
this.score = score;
}
}
```
然后在main函数中实例化一个Student对象,调用求成绩最高分的方法,代码如下:
```
public static void main(String[] args) {
int[] score = {85, 90, 92, 88, 95};
Student s = new Student("20210001", "张三", 20, score);
int maxScore = s.getMaxScore();
System.out.println("最高分为:" + maxScore);
// 验证参数的址传递
s.testReferenceTrans(s);
System.out.println("修改后的姓名为:" + s.getName());
System.out.println("修改后的年龄为:" + s.getAge());
System.out.println("修改后的第一个科目成绩为:" + s.getScore()[0]);
}
```
运行程序后,输出的结果如下:
```
最高分为:95
修改后的姓名为:Tom
修改后的年龄为:18
修改后的第一个科目成绩为:95
```
您可以根据实际需求调整代码,并在程序中实现更多的功能。如果您还有其他问题,请随时向我提问。
阅读全文