C#面向对象思想计算两点之间距离
题目为计算两点之间距离。
面向过程的思维方式,两点的横坐标之差,纵坐标之差,平方求和,再开跟,得到两点之间距离。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Classes_2_point_distance { class Program { static void Main(string[] args) { int x1 = -1; int y1 = -1; int x2 = int.Parse(Console.ReadLine()); int y2 = int.Parse(Console.ReadLine()); int xdiff = x2 - x1; int ydiff = y2 - y1; double distance = Math.Sqrt(xdiff * xdiff + ydiff * ydiff); Console.WriteLine(distance); Console.ReadKey(); } } }
面向对象的思路,题目中,两点间直线距离,名词包括点、直线、距离,首先我们构造一个点类。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Classes_2_point_distance { 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); } } }
然后再Programe.cs中实例化p1,p2两个点,计算距离
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Classes_2_point_distance { class Program { static void Main(string[] args) { //int x1 = -1; //int y1 = -1; int x2 = int.Parse(Console.ReadLine()); int y2 = int.Parse(Console.ReadLine()); //int xdiff = x2 - x1; //int ydiff = y2 - y1; //double distance = Math.Sqrt(xdiff * xdiff + ydiff * ydiff); //Console.WriteLine(distance); //Console.ReadKey(); Point p1 = new Point(); Point p2 = new Point(x2, y2); double distance = p1.Distance(p2); Console.WriteLine(distance); Console.ReadKey(); } } }