二次元配列内に char を含めようとしていますが、問題は、要素の位置を書き込むと、コードがそれを無視するように見え、位置がデフォルトで 0, 0 になることです。メソッドのコードは次のとおりです。
public boolean placePiece(int row, int col, char piece)
{
setPos(x, y);
setPiece(piece);
if (piece != 'K' && piece != 'C')
return false;
else {
board[x][y] = piece;
return true;
}
}
メソッド setPos() のコード
private void setPos(int x, int y)
{
this.x = x;
this.y = y;
if (x >= size && y >= size)
{
System.out.println("Out of range.");
}
}
起こっている奇妙なこととは別に、別のメソッドを実行すると無限ループも発生します。このメソッドは、選択した行のすべての「K」をカウントし、結果をユーザーに出力します。
this.line = line;
this.number = number;
int counter = 0;
if (line == 'r' || line == 'R')
for (int j = 0; j < size; j++) {
while (board[number][j] == 'K')
{
counter += 1;
System.out.println("You've found " + counter + " keys!");
}
if (board[number][j] != 'K')
{
System.out.println("Try again, you haven't found any key yet.");
}
}
while を取り除き、代わりに別の構造を導入する方法がわかりません。
よろしくお願いします。よろしくお願いします。