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@5acf9800System.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,如果可能,请使用帮助程序类。