所以我目前應該撰寫一個以二維陣列作為輸入并回傳一維陣列的方法。問題是我無法輸入二維陣列來測驗我想要做什么。
這就是方法。
public static int[] flatten (int[][] input)
flatten(null);
當我嘗試插入一個示例時,它應該是這樣的: flatten([[1,2,3],[4,5,6]])
但是后來我得到了“賦值的左手必須是一個變數”的錯誤?
uj5u.com熱心網友回復:
要將 2D 陣列作為輸入傳遞,您應該這樣寫
int[][] input = {{1, 2, 3}, {4, 5, 6}};
int[] output = flatten(input);
或者
int[] output = flatten(new int[][] {{1, 2, 3}, {4, 5, 6}} );
uj5u.com熱心網友回復:
這就是您為該方法提供引數的方式。
flatten(new int[][] { { 1, 2, 3 }, { 1, 2, 3 } });
在 Java 中,可以在不需要使用new int[]{...}語法的情況下表達一維陣列定義,盡管它仍然是可能的。
int[] someArray = { 1, 2, 3 }; // Perfectly valid
int[] someArray = new int[]{ 1, 2, 3 }; // Equally valid
但是,以這種方式作為方法的引數提供時,需要明確說明二維陣列定義。
int[][] someArray = { { 1, 2, 3 }, { 1, 2, 3 } }; // Valid
flatten(someArray); // Valid
flatten(new int[][]{ { 1, 2, 3 }, { 1, 2, 3 } }); // Valid
flatten({ { 1, 2, 3 }, { 1, 2, 3 } }) // Invalid!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/351769.html
