的編程語言:Java的傳遞一個二維數組從一個方法到另一個
編輯:Vim的
我一直在努力做的是模塊主要包括二維數組賦值。我一直在努力掙扎,因爲這是我第二次使用任何類型的數組。無論如何,我剛剛收到了一些問題,希望有人能爲我解決問題。
1)這是如何將一個雙數組傳遞給另一個方法?
這是我的布爾數組:
boolean[][] TempGrid = new boolean[GRIDSIZE][GRIDSIZE];
這是我怎麼一直試圖通過它。
countNeighbors(TempGrid[][]);
這方法接受陣列:
public static int countNeighbors (final boolean[][] grid, final int row, final int col)
然而,當我編譯我得到一個錯誤說:
error: '.class' expected
countNeighbors(TempGrid[][]);
^
1 error
我做了錯誤的.class像一些研究:
- http://www.dreamincode.net/forums/topic/70299-class-expected-error/
- http://stackoverflow.com/questions/12309220/class-error-in-java-applet
- http://www.daniweb.com/software-development/java/threads/213357/pass-2-dimensional-array-into-method
和各種其他網站/論壇。他們提供的解決方案或者不起作用,或者導致我的程序出現更多問題。
順便說一句,這是整個方法:
public static void genNextGrid (boolean[][] grid)
{
boolean[][] TempGrid = new boolean[GRIDSIZE][GRIDSIZE];
TempGrid[GRIDSIZE][GRIDSIZE] = grid[GRIDSIZE][GRIDSIZE];
countNeighbors(TempGrid);
for(int row = 1; row < 18; row++)
{
countNeighbors(row);
for(int col = 1; col < 18; col++)
{
countNeighbors(col);
if(n == 3)
{
TempGrid[row][col] = true;
}
else if(n == 2 || n == 3)
TempGrid[row][col] = true;
}
else
{
TempGrid[row][col] = false;
}
}
}
}
我已經嘗試在去除countNeighbors(TempGrid[][]);
[][]
所以它看起來像:
countNeighbors(TempGrid);
,但給了我3個錯誤
error: method countNeighbors in class Life cannot be applied to given types;
countNeighbors(TempGrid);
^
required: boolean[][],int,int
found: boolean[][]
reason: actual and formal argument lists differ in length
error: method countNeighbors in class Life cannot be applied to given types;
countNeighbors(row);
^
required: boolean[][],int,int
found: int
reason: actual and formal argument lists differ in length
error: method countNeighbors in class Life cannot be applied to given types;
countNeighbors(col);
^
required: boolean[][],int,int
found: int
reason: actual and formal argument lists differ in length
- 感謝您的幫助
好,謝謝,但是沒有我路過3種方法'公共靜態INT countNeighbors(最終布爾[] []電網,最終詮釋排,最終int col)'我有我的方法:'countNeighbors(TempGrid);'這是二維數組,'countNeighbors(行);'應該通過'行變量',最後,'countNeighbors(col) ;'應該通過'col變量' – user1714873
你總是需要傳遞2D數組,行和列。爲什麼?因爲你告訴編譯器他會得到這3個變量。 – Burkhard
@ user17您在第一個參數本身中傳遞整個2D數組。 – mtk