Java 用一维数组填充二维数组
Java fill 2d array with 1d arrays
填充以下数组的最佳方法是什么:
来自主要:
String[][] data = new String[x][3];
for(int a = 0; a < x; a++){
data[a] = someFunction();
}
我正在使用的功能..:[=4=]
public String[] someFunction(){
String[] out = new String[3];
return out;
}
有没有可能做这样的事情?还是我必须用 for-loop 来填充它?
使用此代码,我在 data[a] = someFunction();
行收到错误 "non-static method someFunction() cannot be refferenced from static content ---"(netbeans)
您必须指定数组包含多少行。
String[][] data = new String[n][];
for(int i = 0; i < data.length; i++){
data[i] = someFunction();
}
请注意 someFunction
可以 return 不同长度的数组。
当然,您的 someFunction
return 是一个空引用数组,因此您仍然需要在某个循环中初始化该数组的 String
。
我刚刚注意到你遇到的错误。将您的 someFunction
更改为静态。
通过添加 "static".
更改您的 someFunction()
您还应该考虑将 ArrayList 用于此类任务,这些任务是动态的并且是为您的目的而设计的(我猜)。
public static void main(String[] args){
int x = 3;
String[][] data = new String[x][3];
for(int a = 0; a < x; a++){
data[a] = someFunction();
}
}
public static String[] someFunction(){
String[] out = new String[3];
return out;
}
你好蒂姆
填充以下数组的最佳方法是什么:
来自主要:
String[][] data = new String[x][3];
for(int a = 0; a < x; a++){
data[a] = someFunction();
}
我正在使用的功能..:[=4=]
public String[] someFunction(){
String[] out = new String[3];
return out;
}
有没有可能做这样的事情?还是我必须用 for-loop 来填充它?
使用此代码,我在 data[a] = someFunction();
您必须指定数组包含多少行。
String[][] data = new String[n][];
for(int i = 0; i < data.length; i++){
data[i] = someFunction();
}
请注意 someFunction
可以 return 不同长度的数组。
当然,您的 someFunction
return 是一个空引用数组,因此您仍然需要在某个循环中初始化该数组的 String
。
我刚刚注意到你遇到的错误。将您的 someFunction
更改为静态。
通过添加 "static".
更改您的 someFunction()您还应该考虑将 ArrayList 用于此类任务,这些任务是动态的并且是为您的目的而设计的(我猜)。
public static void main(String[] args){
int x = 3;
String[][] data = new String[x][3];
for(int a = 0; a < x; a++){
data[a] = someFunction();
}
}
public static String[] someFunction(){
String[] out = new String[3];
return out;
}
你好蒂姆