//这个是Point的类
using System;
using System.Collections.Generic;    
using System.Linq;
using System.Text;namespace ClassDo    
{
    class Point
    {   
        private int x; 
        private int y;
 
        public Point()
        {
            x = -1;
            y = -1;
        }
        public Point(int h, int z)
        {
            x = h;
            y = z;
        }        public double Distance(Point p)
        {
            int xdiff = x - p.x;
            int ydiff = y - p.y;
            return Math.Sqrt(xdiff * xdiff + ydiff * ydiff);
        }
    }
}//主using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ClassDo
{
    class Program
    {
        static void Main(string[] args)
        {
            int x2 = int.Parse(Console.ReadLine());
            int y2 = int.Parse(Console.ReadLine());
            Point p1 = new Point();
            Point p2 = new Point(x2, y2);
            double distance=p1.Distance(p2);
            Console.WriteLine(distance);
          
        }
    }
}
上面的  public double Distance(Point p) 这里的Point p是什么意思,刚刚学,有点模糊又看不懂,求老师解答  谢谢!!

解决方案 »

  1.   

    这个是知道已知两点(x1,和y1)的坐标分别是-1,-1,和自定义(x2,y2)的坐标,求两点的距离。
      

  2.   

    参数啊  Point类型的参数
      

  3.   

    Point p表示另一个点。这个函数的作用是,传入另一个点,返回这个点到那个点的距离,公式是勾股定律。(x2-x1)^2+(y2-y1)^2再开根号(sqrt)
      

  4.   


    恩 谢谢 前面的我都懂了,后面为什么还要有这个double distance=p1.Distance(p2); 知道的说一下 谢谢!
      

  5.   

     public double Distance(Point p)
      {
      int xdiff = x - p.x;
      int ydiff = y - p.y;
      return Math.Sqrt(xdiff * xdiff + ydiff * ydiff);
      }
      }
    }还有这里也不懂   public double Distance(Point p)这个是什么意思为什么能直接把 Point p这个给传进去。
      

  6.   

    double distance=p1.Distance(p2); 
    注意小写的distance是一个变量,后面那个是一个函数。是两个完全不同的东西。
    这个就是实现对你定义的那个函数的调用,算出距离。
    为什么能直接传进去是因为它定义了这样的参数,Point是一个类,表示一个Point类型的对象。事实上,Point这样的对象类型和int double这样的简单类型是一样的。
      

  7.   


    恩 变量这些我都知道  非常谢谢你,还有能说下public double Distance(Point p) 里面的Point p这个东西吗?这个p是自定义的吧,能直接这样传进来Point p  就这里不懂!!!!
      

  8.   

    Point p1 = new Point(0,0);
    Point p2 = new Point(5,5);
    p1.Distance(p2);
    这就是Distance的调用,在public double Distance(Point p)函数中p就是传入的p2. 
    lz找本最基础的书看一看了。
      

  9.   

    这个可以吗?
    Methods (C# Programming Guide)
    http://msdn.microsoft.com/en-us/library/ms173114(v=vs.80).aspx
      

  10.   


    把en-us改成zh-cn,翻译的怎么样就不知道了,最好看英文的。