編寫(xiě)一個(gè)表示二維平面上的點(diǎn)的類MyPoint,滿足以下條件:
1、定義private的成員變量x和y,表示點(diǎn)的x和y坐標(biāo),類型為double
2、定義兩個(gè)MyPoint的構(gòu)造方法,一個(gè)構(gòu)造方法不帶參數(shù),而且x和y的初始值為0,另一個(gè)構(gòu)造方法有兩個(gè)參數(shù),參數(shù)名為x和y,類型為double,用這兩個(gè)參數(shù)分別作為初始x和y坐標(biāo)
3、定義一個(gè)getD方法,有一個(gè)類型為MyPoint的對(duì)象參數(shù),功能為返回當(dāng)前對(duì)象和參數(shù)對(duì)象這兩個(gè)坐標(biāo)點(diǎn)的距離,返回值為double類型
4、編寫(xiě)測(cè)試的main方法,調(diào)用getD計(jì)算兩個(gè)點(diǎn)之間的距離
輸入:輸入2行數(shù)據(jù), 總共4個(gè)有理數(shù)。
每2個(gè)數(shù)據(jù)一組,表示一個(gè)點(diǎn)的x和y坐標(biāo),每行的2個(gè)數(shù)據(jù)用空格隔開(kāi)。
例如:
200.1 200.2
200.3 200.4
輸出:輸出兩個(gè)點(diǎn)之間的距離。
例如:0.28284271247464315
代碼:
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// write your code here
Scanner input=new Scanner(System.in);
double x1,y1;
double x2,y2;
x1=input.nextDouble();
y1=input.nextDouble();
x2=input.nextDouble();
y2=input.nextDouble();
// System.out.println(y1);
MyPoint p1=new MyPoint(x1,y1);
MyPoint p2=new MyPoint(x2,y2);
double dist=p2.getD(p1);
System.out.println(dist);
}
}
class MyPoint{
private double x,y;
MyPoint(){
x=0;
y=0;
}
MyPoint(double x,double y){
this.x=x;
this.y=y;
}
public double getX(){return x;}
public double getY(){return y;}
public double getD(MyPoint p){
double deltaX=this.x-p.getX();
double deltaY=this.y-p.getY();
double dist=deltaX*deltaX+deltaY*deltaY;
return Math.sqrt(dist);
}
}