Java 为什么我的代码没有返回我希望它执行的操作?

Java 为什么我的代码没有返回我希望它执行的操作?,java,arrays,loops,return,Java,Arrays,Loops,Return,我的代码返回的乱七八糟,我不知道如何让它工作 我尝试了一些不同的返回配置,但没有一个能按我希望的方式工作 class Main { public static void main(String[] args) { int[] reversing= {1,5,3,14,5,26,7,8,9,10,928,0}; System.out.println(reverse(reversing)); } public static int[] reverse(int[] nu

我的代码返回的乱七八糟,我不知道如何让它工作

我尝试了一些不同的返回配置,但没有一个能按我希望的方式工作

class Main {
  public static void main(String[] args) {
    int[] reversing= {1,5,3,14,5,26,7,8,9,10,928,0};
      System.out.println(reverse(reversing));
  }
  public static int[] reverse(int[] nums){
    for(int i=0;i<nums.length;i++){
      nums[i]=nums[nums.length-1];
    }
    return nums;
  }
}
该代码应该获取一个整数数组并反转数字,但它只是返回[I@5acf9800

System.out.println打印int[]数组对象的哈希代码,而不是数组的元素

您需要在数组中迭代print语句,但除此之外,您的方法实际上并没有反转数组

public class Reverser {
public static void main(String[] args) {
    int[] reversing = { 1, 5, 3, 14, 5, 26, 7, 8, 9, 10, 928, 0 };
    for (int i : reverse(reversing)) System.out.println(i);
}

public static int[] reverse(int[] nums) {
    int [] reversed = new int[nums.length];
    int reverseIndex = nums.length - 1;
    for (int i = 0; i < nums.length; i++) {
        reversed[reverseIndex--] = nums[i];
    }
    return reversed;
}

}

在迭代nums数组时,您正在修改它。键入的是nums[nums.length-1];而应该是nums[nums.length-1-i]。此外,您还可以使用Arrays.TOSTRINGREVERSEREVERING.Agree,如果可能,请使用帮助程序类。