方法中数组的值不能返回给 main (java)
Values of an array, in a method, cannot be returned to main (java)
我是 Java 的新手,我也在尝试弄清楚 return 语句如何处理数组。在程序中,我正在尝试 return 在 'squares' 方法中填充的数组到 main。我的意图是编写一个方法 int[] squares(int n)
,该方法 return 是一个数组,其中包含从 1 到 n 的所有自然数的平方。
目前我只是在测试并试图弄清楚如何通过 myArray
。
我得到的错误是
Array8.java:7: error: cannot find symbol 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;
}
}
myArray 是 squares() 方法的局部变量。您只能通过该方法访问它。
你想要的是:
mainArray = squares(3);
您需要收集从 squares 方法返回到变量 mainArray 的输出,如下所示。
变量 myArray 是方法 square 的局部变量,因此在您的 main 方法中不可用。
int[] mainArray = squares(3);
您创建了 int[] myArray 作为局部变量 squares() 方法的一部分。
如果你想使用它,你可以将它创建为全局变量,然后你可以赋值。
如果您想测试 int[] return 类型的工作原理,您可以更改代码
int[] mainArray = myArray;到
int[] mainArray = 正方形(3); - 在此行中,retun int[] 将分配给 mainArray。
您尚未在 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]);
}
}
我是 Java 的新手,我也在尝试弄清楚 return 语句如何处理数组。在程序中,我正在尝试 return 在 'squares' 方法中填充的数组到 main。我的意图是编写一个方法 int[] squares(int n)
,该方法 return 是一个数组,其中包含从 1 到 n 的所有自然数的平方。
目前我只是在测试并试图弄清楚如何通过 myArray
。
我得到的错误是
Array8.java:7: error: cannot find symbol 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;
}
}
myArray 是 squares() 方法的局部变量。您只能通过该方法访问它。
你想要的是:
mainArray = squares(3);
您需要收集从 squares 方法返回到变量 mainArray 的输出,如下所示。 变量 myArray 是方法 square 的局部变量,因此在您的 main 方法中不可用。
int[] mainArray = squares(3);
您创建了 int[] myArray 作为局部变量 squares() 方法的一部分。 如果你想使用它,你可以将它创建为全局变量,然后你可以赋值。
如果您想测试 int[] return 类型的工作原理,您可以更改代码 int[] mainArray = myArray;到 int[] mainArray = 正方形(3); - 在此行中,retun int[] 将分配给 mainArray。
您尚未在 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]);
}
}