1
2つの要素の行/列の位置を比較して、隣接しているかどうかを調べようとしています。多くの検索の後、私はSOに関する同様の質問で私が探していたものを見つけることができませんでした。2次元配列の2要素を比較する
とにかく私の主な質問は、私のコード行の構文に関するものです。だからここに私が持っているものです。
基本的にprivate boolean adjacent(int row, int col)
{
boolean adjacent = true;
Dot d2 = gameArray[row][col];
Descriptor D2 = new Descriptor (row, col, d2);
Descriptor D1 = list.get(list.size()-1);
if (D1.row() == D2.row() && D1.col() == D2.col() +1) {
adjacent = true;
}
return adjacent;
}
私が探しているものをif
行です。私はそれを単純にして、要素D2の場所col
が+/- 1であるかどうかをチェックしたいので、絶対値を使用したいが、ArrayListメソッドではなく、|1|
などの単純なものを使用したい。
if
文の== D2.col()
部分にはどうすれば実装できますか?
おかげ
それを行うには
これは、要素の上下左右の両方で機能しますか? – Muldawg2020
btwの場合、隣接する行の同じ列にある場合、隣接するとみなされます。基本的には、要素が別の要素の真上、下、左、または右にある場合、それらは隣接しているとみなされます。対角線だけが隣接としてカウントされません。 – Muldawg2020
その場合、私の答えの最初の行が機能します。 2つの要素が隣接している場合、そのxsの「abs」またはysの「abs」のいずれかが1に等しく、もう1つは(対角線が隣接しないため)ゼロに等しいので、それらのabsの合計1に等しい - 正確にそのコード行がチェックするもの。 – Ishamael