文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-10-26 16:52

关注

题目要求:定义一个表示学生信息的类,要求如下:(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成绩。

来源地址:https://blog.csdn.net/ArliaOnly/article/details/130034005

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯