繁体   English   中英

Java用1D数组填充2D数组

[英]Java fill 2d array with 1d arrays

填充以下数组的最好方法是什么:
从主要:

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

for(int a = 0; a < x; a++){ 
    data[a] = someFunction();
}

我正在使用的功能..:

 public String[] someFunction(){
     String[] out = new String[3];

     return out;
 }

有可能做这样的事情吗? 还是我必须用for循环填充它?

有了这段代码,出现错误“非静态方法someFunction()不能从静态内容中引用---“(netbeans)在线data[a] = someFunction();

您必须指定数组包含多少行。

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

for(int i = 0; i < data.length; i++){
    data[i] = someFunction();
}

注意someFunction可以返回不同长度的数组。

当然, someFunction返回一个空引用数组,因此您仍然必须在某个循环中初始化该数组的String

我只是注意到您遇到的错误。 将您的someFunction更改为静态。

通过添加“静态”来更改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;
 }

蒂姆的问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM