2

配列に重複する座標が含まれているかどうかを通知するメソッドを作成しようとしました。重複している場合はブール値を true に設定し、そうでない場合は false に設定します。継続的にfalseを返す理由は何ですか?

    public void check(){
    if(point[particle].equals(point) == true){
        check = true;
    } else {
        check = false;
    }
}

point = ポイント配列

粒子 = 現在の粒子

check = チェックに使用されるブール値

4

1 に答える 1

2

コードのこの部分を見てください(ifステートメントの条件から):

point[particle].equals(point)

ここでは、いくつかの可変シャドウイング(またはそのようなもの)が行われていると思います。point配列のようですが、この配列のメンバーと配列自体が等しいかどうかをテストしています。これが、を取得し続ける理由ですfalse。変数名を確認し、2つの異なる変数に誤って同じ名前を使用していないかどうかを確認してください。


注として、

if (condition == true) {
    check = true;
} else {
    check = false;
}

に簡略化できます

check = condition;
于 2012-10-13T22:52:52.763 に答える