私は2つの点が水平、垂直、または対角線であるかどうかを調べるために、ポイントのセット(queenx、インデックス番号を持つqueeny)その他。次のコードは次のとおりです。座標が与えられている水平、垂直、対角のペアを確認する
checkSlopeメソッドは単純に傾きを計算します。次の点を考慮して、この方法で何が問題なのか分かりません:[0、0] [6,1] [4,2] [7,3] [1,4] [3,5] [5、 6] [2,7]、実際には一致しないことが示されている。
for(int i = 0; i < 8; i++) {
int x1 = queenx.get(i);
int y1 = queeny.get(i);
for(int j = 0; j < 8; j++) {
int x2 = queenx.get(j);
int y2 = queeny.get(j);
if(i != j) {
double slope = Math.abs(checkSlope(x1, y1, x2, y2));
try {
if ((slope == 1) || (slope == 0)) {
correct = false;
System.out.println("x1 = " + x1 + " y1 = " + y1 + " x2 = " + x2 + " y2 = " + y2);
break;
}
} catch(Exception e) {
correct = false;
break;
}
}
}
}
public static double checkSlope(int x1, int y1, int x2, int y2) {
return (double)((y2 - y1)/(x2 - x1));
}
checkSlopeと "Slope"を定義する方法について説明してください。 –
'checkSlope'関数を表示してください。 'slope == 1'と' slope == 0'はどういう意味ですか?どのようなケースが「正しい」ですか? –
@ModusTollensコードに関数を追加しました –