我在編碼中途時,我發現,NetBeans的給我關於下面的代碼中的錯誤:我可以在java中將1d數組存儲到2d數組中嗎?
String [][]table={getRowArray()};
//getRowArray() will return me a 1D string array
有什麼辦法來存儲我的方法到二維數組返回的一維數組,而不是直接使用for循環? 感謝您提供任何幫助!
我在編碼中途時,我發現,NetBeans的給我關於下面的代碼中的錯誤:我可以在java中將1d數組存儲到2d數組中嗎?
String [][]table={getRowArray()};
//getRowArray() will return me a 1D string array
有什麼辦法來存儲我的方法到二維數組返回的一維數組,而不是直接使用for循環? 感謝您提供任何幫助!
對於初學者這應該工作 - 是,有可能做到這一點。
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好點!我將我的答案修改爲空白。 :) – cheeken
對此可能有更好的解決方案,但我相信你需要爲其中一個維度指定一個索引來存儲它,所以你要將一維數組存儲到一個單獨的索引中第一維。
即
String [][]table;
table[0] = getRowArray();
由於數組存儲的第一維其他陣列
這幾乎可行 - 但你需要首先初始化'table'。 – cheeken
如果這是工作的(在初始化'table'以便'table [0]'不生成NPE)之後,那麼OP的原始代碼就可以工作。我懷疑'getRowArray()'的返回類型是'String []'以外的東西。 –
@TedHopp - OP明確說'// getRowArray()會返回一個1D字符串數組' –
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 };
可以給這樣的東西 - String [] [] table = {getRowArray(),0}; – Addicted
getRowArray()'的返回類型是什麼? –
返回類型在數組語句後的註釋中提及。 –