题目内容:
设计一个Point(点)类,具体要求如下:
(1)该类具有成员变量x,y(int类型,表示点的横、纵坐标);
(2)定义一个有参构造方法Point(int x,int y),将其一对坐标值作为参数,其中x,y为给定坐标值;
(3)设计一个实例方法distance(Point p),实现求坐标轴上两个点的距离(Java中的开平方根方法为Math.sqrt()),其方法的声明为:int distance(Point p) 。
(4)编写Main类,在其main方法中,由键盘输入2个点的横、纵坐标值,来创建2个Point对象,再调用distance(Point p)方法计算出两点之间的距离并输出该值。
Point.java
public class Point {
int x,y;
Point(int x,int y){
this.x =x;
this.y =y;
}
double Distance(Point p){
double r = Math.sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); //注意加大括号
return r;
}
}
//如果要将结果变为int类型,使用强制转换
int Distance(Point p){
int r = (int)Math.sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y));
return r;
}
Test.java
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Point p1,p2;
int x1,y1,x2,y2;
Scanner sc = new Scanner(System.in);
x1 = sc.nextInt();
y1 = sc.nextInt();
x2 = sc.nextInt();
y2 = sc.nextInt();
p1 = new Point(x1,y1);
p2 = new Point(x2,y2);
System.out.println(p1.Distance(p2));
}
}
运行范例: