You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中创建studentsAverage自定义数据类型计算学生CGPA平均值

封装studentsAverage自定义数据类型实现方案

你可以将CGPA数组存储、平均值计算的逻辑全部封装到studentsAverage自定义类中,封装后的完整可运行代码如下:

import java.util.*;

// 自定义studentsAverage数据类型
class studentsAverage {
    // 私有成员变量存储学生CGPA数组,保证封装性
    private double[] cgpaList;

    // 构造方法:接收传入的CGPA数组完成实例初始化
    public studentsAverage(double[] cgpaList) {
        // 可选:添加参数非空校验避免空指针异常
        if (cgpaList == null || cgpaList.length == 0) {
            throw new IllegalArgumentException("CGPA数组不能为空");
        }
        this.cgpaList = cgpaList;
    }

    // 实例方法:计算并返回CGPA平均值
    public double getAverageCgpa() {
        double sum = 0f;
        for (double cgpa : cgpaList) {
            sum += cgpa;
        }
        return sum / cgpaList.length;
    }
}

public class Test4{
    public static void main(String [] args){
        Scanner adnan = new Scanner(System.in);
        System.out.println("Enter number of students : ");
        int length = adnan.nextInt();
        double [] input = new double[length];
        System.out.println("Enter Cgpa of students : ");
        for( int i = 0; i < length; i++){
            input[i] = adnan.nextDouble();
        }
        // 实例化自定义的studentsAverage类
        studentsAverage averageCalculator = new studentsAverage(input);
        // 调用实例方法获取平均值
        double averageCgpa = averageCalculator.getAverageCgpa();
        System.out.println("Average of students Cgpa : " + averageCgpa);
        adnan.close();
    }
}

实现说明

  • 自定义的studentsAverage类遵循封装原则,内部存储CGPA的数组对外不可见,仅通过公开方法提供计算能力
  • 你可以基于需求扩展studentsAverage类的功能,比如添加获取最高分、最低分、统计不同分数段人数的方法
  • 构造方法中添加了基础参数校验,避免传入空数组时出现算术异常/空指针异常

内容的提问来源于stack exchange,提问作者adnanadel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:06:04