public class MyVector { private double[] elements; static int count; // インスタンス生成されたベクトルの総数 public MyVector(double x, double y) { // ベクトル (x, y) に初期化する elements = new double[2]; elements[0] = x; elements[1] = y; count++; } // elements, count ともに初期化すること public MyVector() { elements = new double[2]; count = 0; } boolean isEqual(MyVector v) { // ベクトル v と各成分が等しければ true, そうでなければ false を返す if ( equals(v)) { return true; } else { return false; } } static int getNumVec() { // インスタンス生成されたベクトルの総数を返す return count; } void print() { // ベクトルの座標を (x, y) という形で表示する System.out.println("(" + elements[0] + "," + elements[1] + ")"); } } public class MyVectorUser { public static void main(String[] args) { MyVector v1 = new MyVector(5, 6); MyVector v2 = new MyVector(20, 22); MyVector v3 = new MyVector(20, 22); System.out.println("Number of MyVector instances is " + MyVector.getNumVec()); if (v1.isEqual(v2)) { System.out.println("V1 and v2 are the same!"); v1.print(); } else { System.out.println("V1 and v2 are different!"); v1.print(); v2.print(); } if (v2.isEqual(v3)) { System.out.println("V2 and v3 are the same!"); v2.print(); } else { System.out.println("V2 and v3 are different!"); v2.print(); v3.print(); } } }
出力結果が、Number of MyVector instances is 3
V1 and v2 are different!
(5.0,6.0)
(20.0,22.0)
V2 and v3 are different!
(20.0,22.0)
(20.0,22.0)
となり、V2 and v3 are same!となりません。
なぜなんでしょうか?教えていただけると幸いです。
回答1件
あなたの回答
tips
プレビュー