设计一个MyPoint类,表示一个具有x坐标和y坐标的点
1、需求分析
•两个私有成员变量x和y表示坐标值;
•成员变量x和y的访问器和修改器
•无参构造方法创建点(0,0);
•一个有参构造方法,根据参数指定坐标创建一个点;
•distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
2、代码实现
(1)MyPoint类:定义了两个double型的私有成员变量、一个无参构造方法、一个有参构造方法,一个返回值为double型的类方法
(2)Test类:创建两个MyPoint类的对象、创建一个Scanner方法的对象
代码:
import java.util.Scanner;
public class MyPoint {
private double x;
private double y;
double getX()
{
return x;
}
double getY()
{
return y;
}
void setX(double xx)
{
x=xx;
}
void setY(double yy)
{
y=yy;
}
public MyPoint()
{
x=0;
y=0;
}
public MyPoint(double x1,double y1)
{
x=x1;
y=y1;
}
public static double distance(MyPoint a,MyPoint b)
{
double a1=a.getX();
double b1=a.getY();
double a2=b.getX();
double b2=b.getY();
double D=Math.sqrt((a2-a1)*(a2-a1)+(b2-b1)*(b2-b1));
return D;
}
}
class Test
{
public static void main(String[] args)
{
MyPoint myPoint=new MyPoint();
MyPoint myPoint1=new MyPoint();
Scanner sc = new Scanner(System.in);
System.out.println("请输入a1的x坐标值:");
double a1=sc.nextDouble();
System.out.println("请输入a1的y坐标值:");
double b1=sc.nextDouble();
System.out.println("请输入a2的x坐标值:");
double a2=sc.nextDouble();
System.out.println("请输入a2的y坐标值:");
double b2=sc.nextDouble();
myPoint.setX(a1);
myPoint.setY(b1);
myPoint1.setX(a2);
myPoint1.setY(b2);
double value=MyPoint.distance(myPoint,myPoint1);
System.out.println("这两个坐标之间的距离为:"+value);
}
}
运行截图: