Java 方法在输入数组时未返回正确的结果
因此,我在main方法中输入了一个大小为8的数组,并调用此方法来返回最高的值分数,但是,它只返回0.0Java 方法在输入数组时未返回正确的结果,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
公共静态双倍大(双倍[]分数已确认)
{
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++)