这段代码报错为主方法中float类型的数组无法转化为double类型,为什么呢?

这段代码报错为主方法中float类型的数组无法转化为double类型,为什么呢?

public class AverageDemo {
    //求数组元素的平均值
    public double argArray(double[] arr){
        double sum=0,arg;
        for(int i=0;i<arr.length;i++){
            sum=sum+arr[i];
        }
        arg=sum/arr.length;
        return arg;
    }
 public static void main(String[] args) {
  //定义对象
  float[] a={78.5f,98.5f,65.5f,32.5f,75.5f};
  AverageDemo AverageArray=new AverageDemo();
  System.out.println("数组的平均值为:"+AverageArray.argArray(a));
  //创建float类型的数组并初始化
  
  //调用方法求平均值并打印输出
  
 }
}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

数组是对象,不同的对象之间不能做隐式转换,方法里要求double[] 对象,你给float[]对象不可以。

好帮手慕阿慧 2020-04-12 10:39:36

同学你好,Java中float类型数组不能自动转换为double类型数组,需要同学自己转换。同学可以将a定义为double类型数组。如下图:
http://img1.sycdn.imooc.com//climg/5e927f6309b6d88306080081.jpg

同学代码中有些地方需要优化一下:变量应该采用驼峰式命名,将AverageArray变量改为averageArray。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • FamKeo #1
    钻个牛角尖,题目任务的不是说要定义float类型的数组?你这样a不就double类型的数组了吗?
    2020-04-13 22:50:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师