Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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:一个差异的int数组_Java_Arrays - Fatal编程技术网

Java:一个差异的int数组

Java:一个差异的int数组,java,arrays,Java,Arrays,我有一个x和y坐标的数组,我将其传递给一个方法,在该方法中它检查第一个差异。我的问题当我返回它时,我的程序只显示前两个坐标的第一个差值 System.out.println(Arrays.toString(ardDifference)); fin.close(); } public static double Difference(double ardY[]) { double ardDifference[] = new doub

我有一个x和y坐标的数组,我将其传递给一个方法,在该方法中它检查第一个差异。我的问题当我返回它时,我的程序只显示前两个坐标的第一个差值

        System.out.println(Arrays.toString(ardDifference));
        fin.close();
    }

    public static double Difference(double ardY[]) {
        double ardDifference[] = new double[5];
        for (int i = 0; i < 5; i++) {
            ardDifference[i] = ardY[i + 1] - ardY[i];
            return ardDifference[i];
        }
        return 0;
    }
}
System.out.println(Arrays.toString(ardDifference));
fin.close();
}
公共静态双差(双ardY[]{
双精度差[]=新双精度[5];
对于(int i=0;i<5;i++){
ardDifference[i]=ardY[i+1]-ardY[i];
返回差[i];
}
返回0;
}
}

因为在第一次迭代本身返回的循环中有一个返回。 我觉得这里不需要循环。或者如果需要多个差异,则将返回类型更改为
double[]
并返回
ardDifference

for (int i = 0; i < 5; i++) {
        ardDifference[i] = ardY[i + 1] - ardY[i];
    }
            return ardDifference;
for(int i=0;i<5;i++){
ardDifference[i]=ardY[i+1]-ardY[i];
}
返回差;
//修改公共静态双差(双ardY[]){
公共静态双[]差(双ardY[]){
双精度差[]=新双精度[5];
对于(int i=0;i<5;i++){
ardDifference[i]=ardY[i+1]-ardY[i];
//删除该行返回差[i];
}
//修改返回0;
返回差;
}

您当前仅返回一个双精度数组,而不是整个数组

如果您似乎没有返回整个数组,则应更改为

// Return type  \/    is double[] instead of double
public static double[] Difference(double ardY[]) {
    double ardDifference[] = new double[5];
    for (int i = 0; i < 5; i++) {
        ardDifference[i] = ardY[i + 1] - ardY[i];
    }
    return ardDifference;//Returns entire array
}
//返回类型\/是double[]而不是double
公共静态双[]差(双ardY[]){
双精度差[]=新双精度[5];
对于(int i=0;i<5;i++){
ardDifference[i]=ardY[i+1]-ardY[i];
}
return ardDifference;//返回整个数组
}

您当前只返回一个double,而不是整个数组

您返回的是一个
double
,这意味着一个值。可能您希望返回一个
double[]
,或者更好的是,一个
列表
问题不清楚。您想在方法差异中做什么?谢谢!这真的帮了我的忙!
// Return type  \/    is double[] instead of double
public static double[] Difference(double ardY[]) {
    double ardDifference[] = new double[5];
    for (int i = 0; i < 5; i++) {
        ardDifference[i] = ardY[i + 1] - ardY[i];
    }
    return ardDifference;//Returns entire array
}