首页 > 试题广场 >

点的距离

[编程题]点的距离
  • 热度指数:3635 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

创建一个CPoint 类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数,运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。

要求:

1。输入两个点的坐标,输出两个点之间的距离

2。重载运算符为“-


输入描述:
输入第一行为样例数m,接下来m行每行4个整数分别表示两个点的横纵坐标。


输出描述:
输出m行,通过重载“-”运算输出两点的距离,保留小数点后两位。
示例1

输入

1
0 0 2 0

输出

2.00
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main
{
    public static void main(String [] args)
    {
        Scanner reader;
        reader = new Scanner(System.in);
        int num;
        NUM = reader.nextInt();
        double [] x1;
        x1 = new double [num];
        double [] y1;
        y1 = new double [num];
        double [] x2;
        x2 = new double [num];
        double [] y2;
        y2 = new double [num];
        for(int i = 0; i <num; i ++)
        {
            x1 [i] = reader.nextInt();
            Y1 [I] = reader.nextInt();
            X2 [I] = reader.nextInt();
            Y2 [I] = reader.nextInt();
        }
        CPoint cp;
        for(int i = 0; i <num; i ++)
        {
            cp = new CPoint(x1 [i],y1 [i],x2 [i],y2 [i]);
            cp.requiresize();
        }
    }
}
类连接点
{
    双长度;
    CPoint(double x1,double y1,double x2,double y2)
    {
        length = Math.sqrt(Math.abs(x1-x2)* Math.abs(x1-x2)+ Math.abs(y1-y2)* Math。 ABS(Y1-Y2));
    }
    公共无效requiresize()
    {
        DecimalFormat的DF;
        df = new DecimalFormat(“0.00”);
        的System.out.println(df.format(长度));
    }
}

发表于 2019-04-09 16:10:49 回复(0)

问题信息

上传者:小小
难度:
1条回答 3442浏览

热门推荐

通过挑战的用户

查看代码