题目要求:
构造一个类Point表示点 。
- 该类有两个私有的双精度成员变量x和y;
- 该类有一个无参数的构造方法,将x和y初始化为0.0。
- 该类有一个带两个double型参数的构造方法,用两个参数的值初始化x和y。
- 给x和y添加公共的getter和setter方法。
- 该类有一个公共方法double distance(Point p),返回当前的点对象和参数p表示的点对象之间的距离。
- 该类有一个公共方法String toString(),返回一个字符串(具体形式参考输出样例)。
构造一个类Line表示直线 。
- 该类有两个私有的Point类成员变量p1和p2;
- 该类有一个构造方法Line(Point p1,Point p2),用两个参数初始化成员变量p1和p2。
- 该类有一个带两个double型参数的构造方法,用两个参数的值初始化x和y。
- 给x和y添加公共的getter和setter方法。
- 该类有一个公共方法double distance(Point p),返回当前的点对象和参数p表示的点对象之间的距离。
- 该类有一个公共方法String toString(),返回一个字符串(具体形式参考输出样例)。
从键盘输入四个浮点数作为作为坐标创建两个Point对象,并用这两个Point对象创建一个Line对象,计算执行的长度并输出。
裁判测试程序样例:
/* 请在这里填写答案 */
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Point p1 = new Point(input.nextDouble(),input.nextDouble());
Point p2 = new Point(input.nextDouble(),input.nextDouble());
Line line = new Line(p1, p2);
System.out.printf("The length of " + line + " is %.2f\n", line.getLength());
}
}
根据题目要求:
point类:
package practice319;
import static java.lang.Math.sqrt;
import static java.lang.Math.pow;
public class Point {
private double x;
private double y;
public Point() {//根据题目要就:无参数的构造方法,将x和y初始化为0.0
this.x = 0.0;
this.y = 0.0;
}
//有一个带两个double型参数的构造方法,用两个参数的值初始化x和y:
public Point(double x,double y){
this.x=x;
this.y=y;
}
//根据题目要求:给x和y添加公共的getter和setter方法:
public double getX(){
return x;
}
public void setX(double x){
this.x=x;
}
public double getY(){
return y;
}
public void setY(double y){
this.y=y;
}
public double distance(Point p){
double s;
s=sqrt(pow(this.x-p.x,2)+pow(this.y-p.y,2));
return s;
}
public String toString(){
return "Point(" + this.x + "," + this. y + ")";
}
}
Line类:
package practice319;
public class Line
{
private Point p1;
private Point p2;
public Line(Point p1,Point p2){
this.p1=p1;
this.p2=p2;
}
public Point getP1() {
return p1;
}
public Point getP2()
{
return p2;
}
public void setP1(Point p1)
{
this.p1 = p1;
}
public void setP2(Point p2) {
this.p2 = p2;
}
public double getLength(){
return this.p1.distance(this.p2);
}
public String toString(){
return "Line[" + this.p1.toString() + "," + this.p2.toString() + "]";
}
}