Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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 - Fatal编程技术网

返回java中的数组?

返回java中的数组?,java,arrays,Java,Arrays,在我的程序中,我试图返回prevScore[I]和prevScoreName[I]。但是,两个返回语句都有错误,指出它们是不兼容的类型required int[],found int。我觉得这可能是我在下面的主项目前两行中定义它们的方式。任何帮助都将不胜感激 prevScore = scoreChange (prevScore, score); prevScoreName = nameChange (prevScoreName, newName); public static int[] sc

在我的程序中,我试图返回prevScore[I]和prevScoreName[I]。但是,两个返回语句都有错误,指出它们是不兼容的类型required int[],found int。我觉得这可能是我在下面的主项目前两行中定义它们的方式。任何帮助都将不胜感激

prevScore = scoreChange (prevScore, score);
prevScoreName = nameChange (prevScoreName, newName);

public static int[] scoreChange (int prevScore[], int score)
{
    for (i=1; i<prevScore.length;i++){
            prevScore[i] = score;
    }
    return prevScore[i];
}

public static String[] nameChange (String prevScoreName[], String newName)
{
    for (i=1; i<prevScoreName.length;i++){
            prevScoreName[i] = newName;
    }
    return prevScoreName[i];
}

您没有返回阵列:

return prevScoreName[i]; // Returns the String at index 'i'
return prevScore[i];     // Returns the integer at index 'i'
如果要返回实际数组,则需要丢失[i]:

此外,甚至不需要归还任何东西:

prevScore = scoreChange (prevScore, score);
prevScoreName = nameChange (prevScoreName, newName);

您正在通过函数调用修改这些数组的内容。

如果您只想从每个函数返回一项,请将返回类型更改为int和String,而不是int[]和String[]。如果要返回整个数组,则将return语句更改为returnprevscore;并返回名称;没有[i]


请注意,不需要返回整个数组-调用者已经有了对它的引用。只需将返回类型更改为void,删除返回语句,并在调用前删除赋值。

看起来您可能不懂数组。 当你说 public static int[]您正在引用整个数组。不是它的所有内容,而是指向数组所在的内存空间。 当你说 publicstaticint指的是一个整数

在方法中,您将返回类型声明为int[],这意味着您将返回一个完整的整数数组。但是您的return语句试图返回prevScore[i],它是一个整数,恰好包含在数组中。如果你写了以下内容,情况也会一样:

int var = prevScore[i];
return var;
在本例中,更容易看出您正在返回一个整数

整数数组与整数数组不同,因此当编译器希望看到整数数组时,试图发回单个整数时,编译器不知道该怎么办

int var = prevScore[i];
return var;