为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Smart猫小萌 2023-12-13 15:03:31
我是 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;  }}
查看完整描述

4 回答

?
米脂

TA贡献1836条经验 获得超3个赞

您需要收集从 squares 方法返回到变量 mainArray 的输出,如下所示。变量 myArray 是 square 方法的局部变量,因此在 main 方法中不可用。

int[] mainArray = squares(3);


查看完整回答
反对 回复 2023-12-13
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

myArray 是 squares() 方法的本地方法。您只能通过该方法访问它。

你想要的是:

mainArray = squares(3);


查看完整回答
反对 回复 2023-12-13
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

您创建了 int[] myArray 作为 squares() 方法的一部分,该方法是局部变量。如果你想使用它,你可以将其创建为全局变量,然后你可以分配。

如果您想测试 int[] 返回类型的工作原理,您可以更改代码 int[] mainArray = myArray; 到 int[] mainArray = squares(3); - 在这一行中,retun int[] 将被分配给 mainArray。


查看完整回答
反对 回复 2023-12-13
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

您尚未在 main 方法中初始化 myArray,您的 squares() 方法中的 myArray 超出了 main 方法的范围。


public static void main(String[] args)

{

    int[] myArray = squares(3);

    int[] mainArray = myArray; 


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

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

    }

}

将解决您的问题,但外观会更干净。


{

int[] mainArray = squares(3); 


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

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

    }

}


查看完整回答
反对 回复 2023-12-13
  • 4 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信