【Java】定义一个表示学生信息的类,要求如下:(1)学生的属性包括:学号、姓名、性别、年龄和课程成绩(5门课,其中包括Java);

题目要求:定义一个表示学生信息的类,要求如下:(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成绩比这个值高的就改变最大值,最小值同理。

可以更改的部分:在测试类中,每次使用成绩都是直接引用学生属性类property的成员变量,其实也可以调用设置的获取成绩方法,如求成绩平均值时就可以调用stu[0].getJava()来返回这个学生的java成绩。

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
下面是一个简单的JavaBean示例,封装了学生的基本信息: ```java public class StudentForm { private String id; // 学号 private String name; // 姓名 private String gender; // 性别 private int age; // 年龄 private String phone; // 联系电话 private String email; // E-mail private String address; // 住址 // 构造方法 public StudentForm(String id, String name, String gender, int age, String phone, String email, String address) { this.id = id; this.name = name; this.gender = gender; this.age = age; this.phone = phone; this.email = email; this.address = address; } // getter/setter方法 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } ``` 以上代码中,我们定义了一个包含学生信息JavaBeanStudentForm,它有学号姓名性别年龄、联系电话、E-mail、住址等属性,同时提供了构造方法和getter/setter方法,以方便对学生信息进行封装和访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挽璃华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值