题干
编程实现一个二维平面上点的类Point,包括下述内容:
(1)一个表示x坐标的double类型的数据域;
(2)一个表示y坐标的double类型的数据域;
(3)一个无参的构造方法;
(4)一个为x、y坐标设置初始值的有参的构造方法;
(5)一个返回当前点到原点距离的方法getDistanceToBase。
要求:利用上述Point类创建两个对象p1和p2,p1的坐标直接指定为(3,4),p2的坐标由用户通过键盘输入。输出p1和p2距离原点的距离。
提示:使用下面的代码计算(x,y)距离(0,0)的距离
Math.sqrt(x*x + y*y)
【试题输入输出】
输入输出格式如下:
代码
import java.util.Scanner;
public class Point {
private double x;
private double y;
public Point() {
x = 0.0;
y = 0.0;
}
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getDistanceToBase() {
return Math.sqrt(x * x + y * y);
}
public static void main(String[] args) {
Point p1 = new Point(3, 4);
Scanner scanner = new Scanner(System.in);
double x = scanner.nextDouble();
double y = scanner.nextDouble();
Point p2 = new Point(x, y);
System.out.println("p1距离原点的距离为" + p1.getDistanceToBase());
System.out.println("p2距离原点的距离为" + p2.getDistanceToBase());
}
}
总结
return Math.sqrt(x * x + y * y);
可以是this.x
有scanner.close();就不会scanner标黄了