![]() |
#2
shangsharon2013-10-15 17:21
![]() class Program { static void Main(string[] args) { Point p = new Point(0.0, 0.0) { //弧度和角度转换 Radian = Math.PI / 180 * 30.0, Speed = 1.0 }; Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y); p.Move(10.0); Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y); p.Move(10); Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y); } } class Point { double x = 0.0; double y = 0.0; double speed = 0.0; double radian = 0.0; public Point(double x = 0.0, double y = 0.0) { this.x = x; this.y = y; } public double X { get { return Math.Round(x, 2); } set { x = value; } } public double Y { get { return Math.Round(y, 2); } set { y = value; } } public double Speed { get { return speed; } set { speed = value; } } /// <summary> /// 弧度,非角度 /// </summary> public double Radian { get { return radian; } set { radian = value; } } /// <summary> /// 移动 /// </summary> /// <param name="time">移动时间</param> public void Move(double time) { double s = speed * time; x += s * Math.Sin(radian); y += s * Math.Cos(radian); } } |
在平面坐标上直线运动的点以速度1.0、移动方向 30°、执行Method Move 、显示10.0 秒后的坐标,用C#,利用以下提示写程序。
Property: 现在的坐标 double x, y;
Field: 速度 double velocity;
方向(radian) double direction;
Method: 现在的坐标经过时间 t 之后的新坐标 void Move(double t);
Constructer: 坐标的初始值 用 double x, double y 当做参数。