我方法的最终结果,不是我想要的结果

问题描述 投票:-2回答:3

我希望你一切都好,身体状况良好。

public class Main {

    public static void main(String[] args) {
        System.out.println(reverse3(new int[] {1,2,3}));


    }

    public static int[ ] reverse3(int [] nums) {
        int [] j = new int[3];
        j[0] = nums[2];
        j[1] = nums[1];
        j[2] = nums[0];
        return j;
    }

}

正如您在代码中所看到的,该方法被赋予一个整数数组,该数组的长度为3,返回一个具有相反顺序的元素的新数组,因此{1,2,3}变为{3,2,1}。

但是当我单击运行时,最终结果是[I @ 7b23ec81谁能告诉我解决方案,谢谢。

java arrays methods solution
3个回答
0
投票

我做得很好,感谢您的提问,我也希望您也过得不错

您正在将数组放入println(array)如果传递数组,println不会过载以打印数组元素,它会为其打印hascode。

您需要这样做

for(int i : reverse(new int[]{1,2,5})
{
  System.out.print(i);
}

0
投票

因为返回的是数组对象j,所以需要将其循环以打印出值

在主要功能中,您可以做的是:

 Array arr[] = reverse3(new int[]{1,2,3}); 
    for(int i=0;i<arr.length;i++)
{ System.out.println(arr[i]); }

0
投票

您得到的值是j在内存级别的地址位置。这是因为j是您的int []对象的引用变量,因此很显然它将返回该对象的引用,而不是该特定位置上的值。要实现您想要的目标,您需要使用

打印i的值

Code

Array arr[] = reverse3(new int[]{1,2,3}); 
for(int i=0;i<array.length;i++){
System.out.println("The value of arr[i] " +arr[i])
}
© www.soinside.com 2019 - 2024. All rights reserved.