方法中数组的值无法返回到 main (java)

我是 Java 新手,我也试图弄清楚 return 语句如何与数组一起使用。在程序中,我试图将“squares”方法中填充的数组返回到main。我的目的是编写一个方法int[] squares(int n),返回一个数组,其中包含从 1 到 n 的所有自然数的平方。目前我只是在测试并试图弄清楚如何通过myArray。我得到的错误是

Array8.java:7: 错误: 找不到符号 int[] mainArray = myArray;"

public class Array8{


  public static void main(String[] args)

  {

    squares(3);

    int[] mainArray = myArray; //cannot find symbol


    for(int i = 0; i < mainArray.length; i++){

      System.out.println(mainArray[i]);

    }

  }


  public static int[] squares(int n){


    int[] myArray = new int[n];

    for(int i = 0; i < myArray.length; i++){

      myArray[i] = 1 + i;

    }

    return myArray;

  }


}


Smart猫小萌
浏览 146回答 4
4回答

米脂

您需要收集从 squares 方法返回到变量 mainArray 的输出,如下所示。变量 myArray 是 square 方法的局部变量,因此在 main 方法中不可用。int[]&nbsp;mainArray&nbsp;=&nbsp;squares(3);

料青山看我应如是

myArray 是 squares() 方法的本地方法。您只能通过该方法访问它。你想要的是:mainArray = squares(3);

慕尼黑8549860

您创建了 int[] myArray 作为 squares() 方法的一部分,该方法是局部变量。如果你想使用它,你可以将其创建为全局变量,然后你可以分配。如果您想测试 int[] 返回类型的工作原理,您可以更改代码 int[] mainArray = myArray;&nbsp;到 int[] mainArray = squares(3);&nbsp;- 在这一行中,retun int[] 将被分配给 mainArray。

一只萌萌小番薯

您尚未在 main 方法中初始化 myArray,您的 squares() 方法中的 myArray 超出了 main 方法的范围。public static void main(String[] args){&nbsp; &nbsp; int[] myArray = squares(3);&nbsp; &nbsp; int[] mainArray = myArray;&nbsp;&nbsp; &nbsp; for(int i = 0; i < mainArray.length; i++){&nbsp; &nbsp; &nbsp; System.out.println(mainArray[i]);&nbsp; &nbsp; }}将解决您的问题,但外观会更干净。{int[] mainArray = squares(3);&nbsp;for(int i = 0; i < mainArray.length; i++){&nbsp; System.out.println(mainArray[i]);&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java