所以我试图在方法中返回数组的内容。 假设此数组称为x,并且其中已经包含值。

    public int[] returnArray()
     {
       return x;
      }

现在,我知道这将返回数组的内存地址。 因此,我尝试了前面看到的这种解决方法:

    public int[] returnArray()
     {
      int[] y=new int[x.length]
       for (int i=0;i<x.length;i++)
       {
         y[i]=x[i]
       }
       return y;
      }

现在,这也将返回数组的内存地址。 有没有解决方法?

#1楼 票数:2 已采纳

return x; 返回对数组的引用,该引用使您可以访问数组的所有元素。

您可能认为您得到了“数组的内存地址”,因为您尝试使用System.out.println(returnArray());打印数组System.out.println(returnArray()); ,它不显示数组的元素。 您应该使用System.out.println(Arrays.toString(returnArray()));打印数组System.out.println(Arrays.toString(returnArray()));

#2楼 票数:1

您只能返回一个地址,因为您只能返回一个值。 数组通常包含多个值。

例如,您可以返回数组位置0处的值,但不能一次返回所有不同的值。

无论谁张贴“解决方法”,显然都没有任何线索。 这将创建另一个数组,并将内容从原始数组复制到新数组,然后返回数组的地址。

但是,您不需要返回数组的元素,数组引用允许您访问元素。

returnArray()[0]获取返回数组(引用)的第一个元素。

要打印元素,可以遍历数组:

for (int x : returnArray()) { 
  System.out.println(x);
}

  ask by ARam translate from so

未解决问题?本站智能推荐:

4回复

返回数组与填充数组

我已经看到了两种通用类型的方法,其目标是返回一个值数组。 第一个是最明显的: 但是,我也看到了填充作为参数传递的数组的方法,例如AffineTransform.getMatrix() : 每种方法的优缺点是什么,哪种情况更好? 另外,使用第二种方法背后的逻辑是什么,而不仅仅是
2回复

java中如何返回数组元素[Ljava.lang.String;@139bb134

我正在尝试返回一个数组,但它会抛出垃圾值。 这是我的代码: 更新 这是我的完整代码。 我试图显示一页,而总共有 3 页。 现在打印如下 现在它的输出是: 线程“main”中的异常java.lang.Error:未解决的编译问题:类型不匹配:无法从字符串转换为字符串[] 在 pa
2回复

我的返回值始终等于0

我编码了多种使用数组确定某个值的方法,但是它们都导致0,但我不知道为什么。 目的是在图书馆中创建教科书列表,然后返回最重的书本,重量,索引,平均页数和总页数。 } getPageCount方法仅返回页面计数,而getWeight返回权重(乘以pageCount * 0.0025)
3回复

Ruby方法可以作为迭代器产生还是根据上下文返回数组?

我在Ruby中有一个任意方法,它产生多个值,因此可以将它传递给一个块: 我想修改这个方法,这样,如果没有块,它只是将值作为数组返回。 所以这个结构也可以运行: 这可能在Ruby中吗?
1回复

在调用方法并将返回值分配给数组时,为什么C#在调用方法时使用数组引用?

我有以下C#程序: 从Main()调用Get()之后,我期望foo数组在第一个位置包含5 。 但是,它是零。 为什么会这样呢? 就像C#在调用Get()方法时捕获对foo的引用一样。 然后,该旧数组引用用于分配Get()返回的值(而不是在Get()实例化的新值)。
4回复

并非所有代码路径都返回值Error

我正在尝试创建一个简单的程序,找到数组中最大的数字。 我在一个单独的类文件中创建了该方法,然后我只是尝试在主页面中创建该对象,并在我创建的数组上执行该方法。 我知道这与我有关,目前没有返回我的方法的值,但我仍然卡住了。 对于noob问题抱歉,提前谢谢。
1回复

方法返回错误的值,因为返回太早

很抱歉这个奇怪的主题标题,但我不知道如何更好地描述我的问题。 我目前正在开发一个使用Microsoft Graph API的Java项目(这是我第一次使用Microsoft Graph API)。 我认为我的问题是Java的一般问题。 我有一个类提供Graph API客户端,第二个
6回复

Java,从方法返回一个值

我在这里做了一段简单的java代码,它是一个被调用来将华氏温度转换为摄氏温度的方法。 然而,当我运行它时,输出始终为0.0 。 我不能让它输出正确的计算。 可能有一些我忘记做的傻事,有人可以帮帮我吗?