String[][] twoD3;
twoD3 = {{"1234", "5435", "2345"}, {"pebbles"}};
上面的數組初始化有什麼問題?爲什麼我會收到編譯錯誤?錯誤是:Java中的二維數組聲明和初始化
Syntax error on token ; ,, expected.
String[][] twoD3;
twoD3 = {{"1234", "5435", "2345"}, {"pebbles"}};
上面的數組初始化有什麼問題?爲什麼我會收到編譯錯誤?錯誤是:Java中的二維數組聲明和初始化
Syntax error on token ; ,, expected.
這有什麼用它做是一個數組的數組。你會看到這個簡單的代碼相同的錯誤與單個陣列:
String[] array;
array = { "foo", "bar" };
你不能做到這一點 - 一個array initializer只能在自己的聲明中,例如使用
String[] array = { "foo", "bar" };
對於一個正常表達(在賦值運算符的右手側),就需要一個array creation expression,使用new
關鍵字和指定數組類型:
String[] array;
array = new String[] { "foo", "bar" };
或者爲您的精確例如:
String[][] twoD3;
twoD3 = new String[][] {{"1234", "5435", "2345"}, {"pebbles"}};
(或者只是分配當然在申報點的值)
您必須在您聲明它的相同命令中初始化該數組。誰知道這是爲什麼,這是由java的創造者設計的選擇。
String[][] twoD3 = {{"1234", "5435", "2345"}, {"pebbles"}};
如果必須分開聲明和初始化,您可以使用new
String[][] twoD3;
twoD3 = new String[][]{{"1234", "5435", "2345"}, {"pebbles"}};
使用
String[][] twoD3;
twoD3 = new String[][]{{"1234", "5435", "2345"}, {"pebbles", "asd", "asd"}};
您需要創建一個新的實例變量初始化它。
'String [] [] twoD3 = {{「1234」,「5435」,「2345」},{「pebbles」 ,「asd」,「asd」}}'也會創建一個新的實例... –
String[][] twoD3 = {{"1234", "5435", "2345"}, {"pebbles"}};
上面一行是定義並初始化2D陣列的方式。
錯誤說的是什麼? – Gendarme
試試這個: String [] [] twoD3 = null; twoD3 = {{「1234」,「5435」},{「2345」,「pebbles」}}; 或者: String [] [] twoD3 = {{「1234」,「5435」},{「2345」,「pebbles」}}; – Abdelhak
令牌上的語法錯誤; ,預計。 - 這就是它說的 – CM1