题目要求:定义一个表示学生信息的类,要求如下:(1)学生的属性包括:学号、姓名、性别、年龄和课程成绩(5门课,其中包括Java);(2)创建带参数的构造方法;(3)获取学生的属性信息;(4)根据学生类,创建五个该类的对象,要求对象数组,并打印五个学生的Java课程成绩的平均值,并输出成绩的最大值(分数和学生名)和最小值(分数和学生名)。
实现效果视频:【JAVA】类与对象(实验)_哔哩哔哩_bilibili
思路构建:创建学生属性property类,然后定义对象数组分别记录五个人的成绩,接着构造函数初始化他们的值,然后创建函数分别返回对应的学生名,学号,性别,年龄和课程成绩,再创建一个test测试类创建五个该类的对象,然后计算五个学生的课程成绩平均值,并且默认第一个人的java成绩同时是最大值和最小值,用for循环遍历五个学生的java成绩,比最大值大的将值赋给最大值,最小值同理,得出最大值和最小值。
学生属性类代码如下:
package message;
public class property {
int num;
String name;
char gender;
int age;
double grades[] = new double[5];
property(int a, String b, char c, int d, double e, double f, double g, double h, double i) {
this.num = a;
this.name = b;
this.gender = c;
this.age = d;
this.grades[0] = e;
this.grades[1] = f;
this.grades[2] = g;
this.grades[3] = h;
this.grades[4] = i;
}
public int getNum() {
return num;
}
public String getName() {
return name;
}
public char getGender() {
return gender;
}
public int getAge() {
return age;
}
public double getChinese() {
return grades[0];
}
public double getMath() {
return grades[1];
}
public double getEnglish() {
return grades[2];
}
public double getJava() {
return grades[3];
}
public double getC() {
return grades[4];
}
}
构造函数的形参偷懒用了abcd这种字母,最好还是对应比如num就是num这样,方便主函数赋值时观看数据名称。
test测试类代码如下:
package message;
public class test {
public static void main(String[] args) {
property stu[] = new property[5];
stu[0] = new property(1, "小1", '男', 18, 97, 94, 95, 96, 88);
stu[1] = new property(2, "小2", '女', 17, 90, 90, 91, 91, 86);
stu[2] = new property(3, "小3", '女', 19, 60, 70, 80, 94, 83);
stu[3] = new property(4, "小4", '男', 18, 77, 94, 60, 95, 81);
stu[4] = new property(5, "小5", '男', 18, 85, 100, 93, 97, 86.5);
double aver = (stu[0].grades[3] + stu[1].grades[3] + stu[2].grades[3] + stu[3].grades[3] + stu[4].grades[3]) / 5;
System.out.println("平均值"+aver);
double max = stu[0].grades[3];
double min = stu[0].grades[3];
int i = 0, j = 0, k = 0;
for (; i < 5; i++) {
if (max < stu[i].grades[3]) {
max = stu[i].grades[3];
j = i;
}
}
System.out.println("java最高分" + max + stu[j].name);
for (i=0; i < 5; i++) {
if (min > stu[i].grades[3]) {
min = stu[i].grades[3];
k = i;
}
}
System.out.println("java最低分" + min + stu[k].name);
}
}
运行结果:
测试类中创建了对象数组,并对这几个数组元素赋值,包括学号,名字,性别和五门课的成绩。
在计算java成绩的最大值和最小值时,将第一个同学的java成绩同时设为最大值和最小值,再遍历所有数组元素,每次遇到java成绩比这个值高的就改变最大值,最小值同理。文章来源:https://www.toymoban.com/news/detail-723248.html
可以更改的部分:在测试类中,每次使用成绩都是直接引用学生属性类property的成员变量,其实也可以调用设置的获取成绩方法,如求成绩平均值时就可以调用stu[0].getJava()来返回这个学生的java成绩。文章来源地址https://www.toymoban.com/news/detail-723248.html
到了这里,关于【Java】定义一个表示学生信息的类,要求如下:(1)学生的属性包括:学号、姓名、性别、年龄和课程成绩(5门课,其中包括Java);的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!