Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法在输入数组时未返回正确的结果_Java_Arrays_Methods - Fatal编程技术网

Java 方法在输入数组时未返回正确的结果

Java 方法在输入数组时未返回正确的结果,java,arrays,methods,Java,Arrays,Methods,因此,我在main方法中输入了一个大小为8的数组,并调用此方法来返回最高的值分数,但是,它只返回0.0 公共静态双倍大(双倍[]分数已确认) { scoresRecived=新双[8]; INTC; 双倍最高分=0; 对于(c=0;c最高分) 最大分数=获得的分数[c]; } 返回最高分; } 您正在本地覆盖scorescived参数。只需删除scoresRecived=newdouble[8]行 您可能希望返回最高分 public static double Larger(double[] s

因此,我在main方法中输入了一个大小为8的数组,并调用此方法来返回最高的值分数,但是,它只返回0.0

公共静态双倍大(双倍[]分数已确认)
{
scoresRecived=新双[8];
INTC;
双倍最高分=0;
对于(c=0;c<8;c++)
{
如果(得分已确认[c]>最高分)
最大分数=获得的分数[c];
}
返回最高分;
}

您正在本地覆盖
scorescived
参数。只需删除
scoresRecived=newdouble[8]

您可能希望返回
最高分

public static double Larger(double[] scoresRecived)
{
    int c;
    double largestScore = 0.0;
    if (scoresRecived != null) {
        for (c = 0; c < scoredRecived.length; c++)
        {
            if (scoresRecived[c] > largestScore)
                largestScore = scoresRecived[c];
        }
    }
    return largestScore;
}
公共静态双倍大(双倍[]分数已确认)
{
INTC;
双倍最高分=0.0;
如果(scoresRecived!=null){
对于(c=0;c最高分)
最大分数=获得的分数[c];
}
}
返回最高分;
}

您已重新声明在it获取分数后收到的分数。通过这样做,您基本上忽略了函数中的参数输入(因此您有一个空白数组)

拆下这条线,它应该可以工作

scoresrecied=新双[8]

您也没有返回正确的值。更改下面的行

返回最高分

也不是必需的,但可能希望将其用于不同的数组大小

对于(c=0;c

公共静态双大(双[]scoreseceived)
public static double Larger(double[] scoresRecived)
{
    double largestScore = 0;
    for (int i = 0; i < 8; i++)
    {
        if (scoresRecived[i] > largestScore)
            largestScore = scoresRecived[i];
    }
    return largestScore;
}
{ 双倍最高分=0; 对于(int i=0;i<8;i++) { 如果(得分已确认[i]>最高分) 最大分数=获得的分数[i]; } 返回最高分; }
您不需要重新初始化实际参数
scoresecived

当前您正在重新初始化它:

scoresRecived=新双[8]

这样,数组中的所有数据都将丢失。请从代码中删除此行

同样在for循环中:

for (c = 0; c < scoresRecived.length; c++)
for(c=0;c

替换
cI我认为您应该返回
largestcore
@Andrew Fey answer发布的输出
7.3
for (c = 0; c < scoresRecived.length; c++)