NetBeansが以下のコードに関してエラーを出すことがわかったとき、私は途中でコーディングしていました。
String [][]table={getRowArray()};
//getRowArray() will return me a 1D string array
forループを使用する代わりに、メソッドによって返された1D配列を2D配列に直接格納する方法はありますか?助けてくれてありがとう!
手始めに-はい、それは可能です。
public class Test {
public String[] dum() {
String[] x = {"Not sure"};
return x;
}
public static void main(String[] args) {
Test t = new Test();
String[][] words = {t.dum()};
System.out.println(words[0][0]); // prints "Not sure"
}
}
発生しているエラーを再確認してください。の戻りタイプgetRowArray()
が本当にであることを確認してくださいString[]
。
これにはもっと良い解決策があるかもしれませんが、それを格納するために次元の1つに単一のインデックスを指定する必要があると思います。したがって、1次元配列を1次元の単一のインデックスに格納します。
すなわち
String [][]table;
table[0] = getRowArray();
配列の最初の次元が他の配列を格納するため、これは機能するはずです
String [] oneD = { "1", "2", "3", "4" }; // getRowArray();
String [][] twoD1 = { oneD };
String [] anotherOneD = null; // or filled
String [][] twoD2 = { oneD, anotherOneD };
String [][] twoD3 = new String[][] { oneD };
String [][] twoD4 = new String[][] { oneD, anotherOneD };