zoukankan      html  css  js  c++  java
  • 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();
    
    
    
            }
        }
    }
    

      

  • 相关阅读:
    QT Launching Debugger 卡住
    VS无法打开源文件"stdio.h"
    QT 5.15 https 无法访问 TLS initialization failed
    .Net 添加第三方控件
    XML解析——DOM解析
    javascript——对象
    SQL Server 合并表 union 和union all
    深入理解HTTP
    HTTP详解(3)-http1.0 和http1.1 区别
    HTTP详解(2)
  • 原文地址:https://www.cnblogs.com/SeekHit/p/4322454.html
Copyright © 2011-2022 走看看