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();
    
    
    
            }
        }
    }
    

      

  • 相关阅读:
    APNS 证书生成注意事项
    Remove a Submodule within git
    Quartz.NET
    Linux.net && mono
    系统整理qt笔记1
    串口通讯之rs232 c++版本
    串口通信 之 linux固定串口别名的两种方法
    系统整理qt笔记3
    串口通信+进制基础+位运算
    qt(二)
  • 原文地址:https://www.cnblogs.com/SeekHit/p/4322454.html
Copyright © 2011-2022 走看看