実現したいこと
フィールド double x, y;
• コンストラクタは,x, y の座標を引数とし,対応するフィールドの値を初期化する.
• プロパティ X, Y を設定して x, y の更新/参照を可能とする.
• メソッド getCoord() は,引数無しで,座標を (xの値, yの値)形式の文字 列として返す.
• メソッド getDistance() は,引数に Point クラスのオブジェクトを渡し,2点間の距離を求めてdouble型で値を返す。
[しつもん]
このコードだとxとyの値を更新はできても前の値(初期値とか)を参照はできない?ので初期値などを参照する方法が知りたい。
getDistance() の引数がよくわかっていない。ある点Pとある点Qは両方初期値?その値が引数(4つ?)になるのか。それとも点Pを一つ指定して初期値をいれて、その値(x,y)を更新したものを点Qと置いてgetDistance() の引数に(ひとつ前のx,ひとつ前のy,今のx,今のy)とするのかを知りたい。
C#
1コード 2 3 4 5 6 7using System; 8using System.Collections.Generic; 9using System.Text; 10 namespace objectpurograming06 11 { 12class Point 13{ 14private double x; 15private double y; 16 public Point(double x,double y) 17 { this.x = x; this.y = y; 18} 19public double Getx 20{ 21set { this.x = value; } 22get { return x; } 23} public double Gety 24{ set { this.y = value; } 25 get { return y; } 26} 27 public double Changex(double x) 28{ 29this.x = x; 30return x; 31} 32 public double Changey(double y) 33{ 34 this.y = y; 35 return y; 36} 37 public string GetCoord() 38{ 39 return "(" +this.x + "," + this.y + ")"; 40} 41 public double getDistance(double X,double Y,double x, double y) 42{ 43double D =Math.Sqrt((X - x) * (X - x) + (Y - y) * (Y - y)); 44return (double)D; 45} 46} 47} 48 49 50 51 52 53 54using System; 55 namespace objectpurograming06 56 { 57 class Program 58{ 59 static void Main(string[] args) 60{ 61 Point point = new Point(10.0, 5.0); 62Console.WriteLine("点P(" + point.Getx + "," + point.Gety + ")"); 63 point.Getx = 3.0; 64 point.Gety = 2.0; 65 Console.WriteLine("点Q" + point.GetCoord()); 66 Console.WriteLine("PQ間の距離は:" + point.getDistance(point.Getx, point.Gety, point.Changex(10), point.Changey(5.0))); 67 point.Changex(7); 68 Console.WriteLine("P.Xは" + point.Changex(7)); 69 point.Changey(8); Console.WriteLine("Q.Yは" + point.Changey(8)); Console.WriteLine("現在の値は..."); 70point.Changey(5.0); 71 Console.WriteLine("点P" + point.GetCoord() ); 72 point.Changex(10.0); 73point.Changey(8); 74Console.WriteLine("点Q" + point.GetCoord() ); } } } 75 76 77 78 79 80 81 82 83 84 85
実行結果
点P(10,5)
点Q(3,2)
PQ間の距離は:7.615773105863909
P.Xは7
Q.Yは8
現在の値は...
点P(7,5)
点Q(10,8)
回答1件
あなたの回答
tips
プレビュー