永发信息网

C#编程问题?

答案:1  悬赏:20  手机版
解决时间 2021-06-02 01:22
  • 提问者网友:酱爆肉
  • 2021-06-01 07:00

构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。另外在该类中提供一个静态方法计算两个点的直线距离,传入参数为两个Point类实例。然后设计一个测试类来对Point类进行使用。
  提示:先定义两个变量来存储Point点的X,Y坐标;无参的构造函数将X,Y坐标赋为0;有参的构造函数将传入的参数分别赋给X,Y坐标。

以下是我的代码:
using System;
using System.Collections.Generic;
using System.Text;

namespace Point
{
class Point
{
public double X;
public double Y;
public Point()
{
X = 0;
Y = 0;
}
public Point(double x, double y)
{
X = x;
Y = y;
}
public static double distance(Point X, Point Y)
{
return (X.X - Y.X) * (X.X - Y.X) - (X.Y - X.Y) * (X.Y - X.Y);
}
public static void Main(string[] args)
{
double x, y;
x = double.Parse(Console.ReadLine());
y = double.Parse(Console.ReadLine());
Point Point = new Point(x,y);
double m = Point.distance(Point.X,Point.Y);
Console.WriteLine(m);
}
}
}
 
问题:题目中的“另外在该类中提供一个静态方法计算两个点的直线距离,传入参数为两个Point类实例。然后设计一个测试类来对Point类进行使用。”该如何实现?

思路模糊,而且代码中有错误,该如何修改?请指点,谢谢~~

最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-06-01 07:47

我的习惯:


/// <summary>


/// 实体类


/// </summary>


class Point
{
private double _X;
private double _Y;


public double X
{
get { return _X; }
set { _X = value; }
}


public double Y
{
get { return _Y; }
set { _Y = value; }
}


public Point()
: this(0, 0)
{
}
public Point(double x, double y)
{
_X = x;
_Y = y;
}



}


/// <summary>
/// 处理类
/// </summary>


static class PointImpl
{
public static double Distance(Point p1, Point p2)
{
//return (p1._X - Y._X) * (p1._X - Y._X) - (X._Y - X._Y) * (X._Y - X._Y);
double x, y, z;
x = p2.X - p1.X;
y = p2.Y - p1.Y;
z = System.Math.Sqrt(x * x + y * y);


return z;
}
}


class Program
{
static void Main(string[] args)
{
double x1, y1, x2, y2;
x1 = double.Parse(Console.ReadLine());
y1 = double.Parse(Console.ReadLine());
Point p1 = new Point(x1, y1);


x2 = double.Parse(Console.ReadLine());
y2 = double.Parse(Console.ReadLine());
Point p2 = new Point(x2, y2);


double m = PointImpl.Distance(p1, p2);
Console.WriteLine(m);


Console.ReadKey(true);
}
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯