我的代码正在返回乱码(至少对我来说),我不知道如何使它正常工作。
我尝试了一些不同的返回配置,但是没有一个能按我希望的方式工作。
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
答案 0 :(得分:1)
System.out.println(<>)打印int []数组对象的哈希码,而不是数组的元素。
您需要遍历整个数组的打印语句。但是除此之外,您的方法实际上并不会反转数组。
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;
}
}