作业
3,定义一个表示学生信息的类Student,要求如下:
(1)类Student的成员变量:
id表示学号;name表示姓名;gender表示性别;age表示年龄;java表示Java课程成绩。
(2) 在定义一个print()方法,输出student对象的 name,gender,age,java的值(即输出学生信息)
(3)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,
提示: 数组既可以存储基本数据类型的值,也可以存储引用数据类型的值
因此,5个Student对象可以放在一个Student数组中
Student[] students = new Student[5];
students[1] = student对象的引用
//求平均值可以通过循环遍历 students数组来完成
代码实现
main方法
public class Demo3 {
public static void main(String[] args) {
//设一个数组,存放对象的引用(即对象的地址)
Student[] students = new Student[5];
//创建5个对象
students[0] = new Student(1, "A", true, 25, 95);
students[1] = new Student(2, "B", true, 25, 96);
students[2] = new Student(3, "C", false, 25, 97);
students[3] = new Student(4, "D", true, 25, 98);
students[4] = new Student(5, "E", true, 25, 99);
//students[4] = new Student(); //sno: 0 name: null gender: false java: 0.0
/*for (int i = 0; i < students.length; i++) {
students[i] = new Student();
}*/
//打印5个学生的信息
for (int i = 0; i < students.length; i++) {
students[i].print();
}
System.out.println("------------------------");
//打印java平均成绩
double average = 0.0;
for (int i = 0; i < students.length; i++) {
average += students[i].java;
}
System.out.print("Java语言平均成绩:" + average / 5);
}
}
学生类
class Student {
//(1)类Student的成员变量
int sno;
String name;
boolean gender;
int age;
double java;
//(2)构造函数
public Student() {
}
public Student(String name, double java) {
this.name = name;
this.java = java;
}
public Student(int sno, String name, boolean gender, int age, double java) {
this(name,java); //调用当前类的别的构造方法,语法是this(参数列表)
this.sno = sno;
//this.name = name;
this.gender = gender;
this.age = age;
//this.java = java;
}
//(3) 在定义一个print()方法,输出student对象的 name,gender,age,java的值(即输出学生信息)
public void print() {//可以简写为sno等
System.out.println("sno: " + this.sno + "\tname: " + this.name + "\tgender: "
+ this.gender + "\tjava: " + this.java + "\tage: " + this.age);
}
}
运行结果