【问题标题】:How to print a returned array如何打印返回的数组
【发布时间】:2014-03-26 21:16:39
【问题描述】:

令人惊讶的是,我似乎无法在任何地方找到答案。

我已经初始化了一个名为“array”的新 int 数组,并在一个名为“reverse”的方法中对其进行了一些处理,它返回了 array.length,我如何在 main 方法中打印返回的数组而不是最初初始化的数组数组?

这是我的代码,for 循环是我遇到的问题

public static void main(String[] args) 
{
    int array[] = new int [7];
    array[0] = 5 ;
    array[1] = 10;
    array[2] = 11;
    array[3] = 19;
    array[4] = 13;
    array[5] = 14;
    array[6] = 16;
         for(int i = 0; i < array.length; i++)
        {
            System.out.println(array[i]); 
        } 
    }
public int reverse(int[] array) {
    int left = 0;
    int right = array.length - 1;
    while( left < right ) 
    {  
        int temp = array[left];
        array[left] = array[right];
        array[right] = temp;
        left++;
    }
    return array.length;}

【问题讨论】:

  • 请给我们一个简短的程序来说明您的问题。
  • 你的问题不好......请给我们一些意见
  • 您说,"Here is my code, the for loop is what I am having problems with..." -- 哪个循环,您遇到了什么问题?另外,您在哪里调用该方法?您应该考虑将方法设为静态,以便可以在没有实例的静态 main 方法中调用它。

标签: java arrays return


【解决方案1】:

您无需退货。 Java 处理数组的方式,当您使用该方法时,它会更改原始数组的内容。因此,您可以按原样打印。

【讨论】:

  • 使用正确的术语。数组不是通过引用传递的。
  • @SotiriosDelimanolis 我不知道有什么更好的术语可以用于此。你怎么说他们通过了?
  • @Stendika 阅读here 了解相关信息。
  • 数组类型是引用类型。引用类型值是按值传递的。您应该说的是,数组对象有许多变量被数组访问表达式引用。
  • 这就是重点。完全不一样。阅读 Blue Ice 的链接问题/答案。取消引用和更改引用是两个完全不同的概念。
【解决方案2】:

对于您的特定代码,您需要:

  • 使您的反向方法成为静态方法,这样就可以从静态主方法中调用它,而无需您先创建一个实例。

换句话说,将方法签名更改为:

public static int reverse(int[] array) {
  • 然后你需要调用方法before遍历循环并打印出结果。

例如,

public static void main(String[] args) {
    int array[] = new int [7];
    array[0] = 5 ;
    array[1] = 10;
    array[2] = 11;
    array[3] = 19;
    array[4] = 13;
    array[5] = 14;
    array[6] = 16;
    reverse(array); // *** add this
    for(int i = 0; i < array.length; i++) {
        System.out.println(array[i]); 
    } 
}

【讨论】:

  • @user3326162:不客气,很高兴它有帮助。将来,您将希望在原始帖子中包含有关您的问题的更多信息,包括相关代码。这将使您更快地获得更好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多