在Java中,如何从参数中包含数组的方法返回值?

在Java中,如何从参数中包含数组的方法返回值?,java,arrays,methods,Java,Arrays,Methods,我有这个代码,但它不工作 public class Trial { public static void main (String [] args) { int average; int m = 0; int [] nums = {1,6,8,9,10,60,72}; average = getAverage(int [] nums); } public static int getAverag

我有这个代码,但它不工作

public class Trial
{
    public static void main (String [] args)
    {
        int average;
        int m = 0;

        int [] nums = {1,6,8,9,10,60,72};

        average = getAverage(int [] nums);
    }

    public static int getAverage(int [] a)
    {
        int sum = 0;
        for(int i=0; i<a.length; i++)
            sum = sum +a[i];

        int avg = sum/a.length;
        return avg;
    }
}
公开课审判
{
公共静态void main(字符串[]args)
{
整数平均;
int m=0;
int[]nums={1,6,8,9,10,60,72};
average=getAverage(int[]nums);
}
公共静态int getAverage(int[]a)
{
整数和=0;

对于(int i=0;i更改方法调用:

average = getAverage(nums);
我看到两个问题:

  • average=getAverage(int[]nums)
    应为
    average=getAverage(nums)
  • <函数返回一个<代码> int <代码>。您可能需要考虑使用浮点数学来计算结果。否则,您将截断最近的<代码> INT/COM>的答案。
    avg
    可以是浮点值,但您的实现将始终返回整数


    考虑使用浮点值<代码>和> />代码>代码> AVG并将返回类型改为<代码>双 .< /P>删除调用中的声明,只需传递“NUMs”。此外,考虑使用表达式:<代码>为(int I:A){SUMP++I;} < /Cord> >是有效的!愚蠢的错误:(是的,我需要它是最接近的整数到最接近的整数?所以你需要做一个舍入或截断之类的事情,因为这行int avg=sum/a.length;当你得到一个浮点值时,可能会引发一个异常point@Mr.不,它不会抛出异常。它会悄悄地截断。@Mr.-整个事情都是整数数学,不可能出现异常由于“浮点”而引发。可能遇到的唯一一种异常是数组为空(除零)。可能会调用显式调用

    Round()
    (尽管需要强制转换一个或两个运算符)。感谢您的解释,我不知道它,它被称为显式,谢谢!
    average = getAverage(int [] nums); //this is wrong
    
    average = getAverage(nums); //this is right. Just sintaxis.