Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java用一维数组填充二维数组_Java_Arrays_Function_2d - Fatal编程技术网

Java用一维数组填充二维数组

Java用一维数组填充二维数组,java,arrays,function,2d,Java,Arrays,Function,2d,填充以下数组的最佳方法是什么: 从main: String[][] data = new String[x][3]; for(int a = 0; a < x; a++){ data[a] = someFunction(); } 有可能这样做吗?还是我必须用for循环填充它 使用此代码时,在data[a]=someFunction()行上出现错误“无法从静态内容引用非静态方法someFunction()”(netbeans)必须指定数组包含的行数 String[][] da

填充以下数组的最佳方法是什么:
从main:

String[][] data = new String[x][3]; 

for(int a = 0; a < x; a++){ 
    data[a] = someFunction();
}
有可能这样做吗?还是我必须用for循环填充它


使用此代码时,在
data[a]=someFunction()行上出现错误“无法从静态内容引用非静态方法someFunction()”(netbeans)

必须指定数组包含的行数

String[][] data = new String[n][];

for(int i = 0; i < data.length; i++){
    data[i] = someFunction();
}
String[][]数据=新字符串[n][];
对于(int i=0;i
请注意,
someFunction
可以返回不同长度的数组

当然,您的
someFunction
返回一个空引用数组,因此您仍然需要在某个循环中初始化该数组的
字符串

我刚注意到你犯的错误。将您的
someFunction
更改为静态。

通过添加“static”更改您的someFunction()

你也应该考虑使用一个ARARYLIST来完成这些任务,这些任务是动态的,是为了你的目的而设计的(我猜)。p>

publicstaticvoidmain(字符串[]args){
int x=3;
字符串[][]数据=新字符串[x][3];
对于(inta=0;a

你好,蒂姆

也许你可以试试这个?不确定如何生成数组元素的数据…我指定了。字符串[][]数据=新字符串[x][3];x*3和someFunction给出String[]out=新字符串[3]@我犯了错误。我以为你的意思是x意味着任意长度。你知道我能做什么吗?@Vedran将你的
someFunction
方法改为static.oh。完全错过了。谢谢你的帮助!
String[][] data = new String[n][];

for(int i = 0; i < data.length; i++){
    data[i] = someFunction();
}
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;
 }