Java 我的方法的最终结果不是我想要的结果
我希望你很好,做得很好Java 我的方法的最终结果不是我想要的结果,java,arrays,methods,Java,Arrays,Methods,我希望你很好,做得很好 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];
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
有人能告诉我解决方案吗?谢谢。因为返回的是数组对象j,所以需要循环输出以打印值 在主要功能中,您可以执行以下操作:
Array arr[] = reverse3(new int[]{1,2,3});
for(int i=0;i<arr.length;i++)
{ System.out.println(arr[i]); }
数组arr[]=reverse3(新的int[]{1,2,3});
对于(int i=0;i我做得很好,谢谢你的邀请,我希望你也做得很好
您正在将数组放入println(数组)
println不会重载以打印数组元素,如果传递数组,它会为其打印hascode
您需要这样做
for(int i : reverse(new int[]{1,2,5})
{
System.out.print(i);
}
你得到的值是j在内存级别的地址位置,因为j是int[]对象的引用变量,所以很明显它会返回该对象的引用,而不是该特定位置的值。
要实现您想要的,您需要使用
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])
}
数组arr[]=reverse3(新的int[]{1,2,3});
对于(int i=0;iCode),错误和结果应作为StackOverflow上的文本提供。但我在照片中提供了代码和错误是的,这就是为什么我评论“代码、错误和结果应作为StackOverflow上的文本提供。”好的,我如何编辑这个问题。对不起,我是新来的。我没有发布代码、数据、错误消息等的图像。-复制或键入问题中的文本。什么是“数组”我可以再问你一个问题吗?是的,你可以肯定,并且考虑一下投票的答案,并把它打勾正确,如果它对你有用的话,我已经试着投票赞成答案,但是有一条消息突然出现了。“感谢您的反馈!声誉低于15的人所投的票会被记录下来,但不会更改公开显示的帖子分数。”好的,如果您得到回答,您应该勾选正确的图标,以便其他人可以看到该问题的答案和关于该问题的答案。当我运行时,结果是321,这不是我想要的,因此我添加了”[“在for循环之前,后面是另一个。结果现在是[321],然后我添加了一个逗号,就像System.out.print(j[I]+”,”)那样;但是最终结果现在是[3,2,1],我如何删除数字1之后的逗号?”