方法调用总是出现错误怎么办

public static int [] sortedSquares(int []nums){
int left=0;
int right=nums.length-1;
int []result=new int [nums.length];
int index=result.length-1;
while (left<=right){
if (nums[left]*nums[left]>nums[right]*nums[right]){
result[index]=nums[left]*nums[left];
index--;
left++;
}else {
result [index]=nums[right]*nums[right];
index--;
right--;
}
}return result;
}

public static void main(String[] args) {
int[]arr={-2,-3,1,0,7};
System.out.println(sortedSquares(arr));
}

img

比如,输出:[1, 2, 3, 4, 5]
说明:System.out.println(array);这样是不行的,这样打印是的是数组的首地址。
要这样输出for each循环
for(int a:array)