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

Java中如何调用数组函数?能否像Python那样直接传数组字面量求平均值?

嘿,这个问题我太懂了!Java作为静态类型语言,确实不像Python那样能直接丢个字面量列表就调用函数,但其实有两种简单的方式能实现你想要的「不用提前给数组分配变量」的效果:

方式1:直接传递匿名数组

你只需要在数组字面量前显式加上new double[],告诉编译器这是一个double类型的数组,就能直接作为参数传给average方法了,不用提前定义arx变量。

完整代码示例:

public class TestTwo {
    public static void main(String[] args) {
        // 直接传递匿名数组,无需提前赋值给变量
        System.out.println(average(new double[]{1,2.0,4,5,6,7.0}));
    }

    public static double average(double[] args) {
        double sum = 0.0;
        for (double d : args) {
            sum += d;
        }
        return sum / args.length; // 补全你没写完的平均值计算逻辑
    }
}

方式2:使用可变参数(更接近Python的写法)

如果把average方法的参数改成可变参数(用double...代替double[]),你甚至可以直接像Python那样传逗号分隔的数值,Java会自动把这些数值打包成一个double[]数组传给方法,连数组括号都不用写!

完整代码示例:

public class TestTwo {
    public static void main(String[] args) {
        // 直接传逗号分隔的数值,和Python调用方式几乎一致
        System.out.println(average(1,2.0,4,5,6,7.0));
    }

    // 把参数改为可变参数double... args
    public static double average(double... args) {
        // 先处理空参数的情况,避免除以0报错
        if (args.length == 0) {
            return 0.0;
        }
        double sum = 0.0;
        for (double d : args) {
            sum += d;
        }
        return sum / args.length;
    }
}

这两种方式都能满足你「无需为输入数组分配变量」的需求,其中可变参数的写法最接近Python的使用习惯,推荐试试!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:45:28