プログラミング言語: Java
編集者:ヴィム
2次元配列を含む割り当てをしようとしています。あらゆる種類の配列を使用したのはこれが2回目なので、かなり苦労しています。とにかく、ここで誰かが私のために解決してくれることを願っています。
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
-事前にご協力いただきありがとうございます