定义一个描述平面坐标系统中点及其操作的类Point.(Java)

定义一个描述平面坐标系统中点及其操作的类Point.(Java)
定义一个描述平面坐标系统中的点及其操作的类Point.它有两个double型私有属性x和y描述点在坐标轴中的位置.该类还包含如下方法:初始化x和y的构造函数;返回x和y值的方法getX( )和getY( );将给定坐标平移w(水平)和h(垂直)的方法shiftPoint(double w,double h);判断调用该方法的点的坐标和方法中的参数点的坐标是否相等的方法pointEquals(Point p);确定点在第几象限的方法 whatQuadrant( ),并返回字符串描述;求到给定参数点的距离的方法 findDistance (Point p),返回结果保留两位小数;将点的坐标表示为字符串格式( x ,y )的方法toString ( ).
编写应用程序或小程序,测试类Point,使用上面定义的各个方法并将其结果输出.
lili463 1年前 已收到1个回答 举报

ft1087720 幼苗

共回答了23个问题采纳率:91.3% 举报

public class Point {
private double x;
private double y;
public Point(double x, double y){
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public void shiftPoint(double w, double h){
x += w;
y += y;
}
public boolean pointEquals(Point point){
if(point.x == x && point.y == y)
return true;
return false;
}
public void whatQuadrant(){
int a = 1;
if( x < 0 && y > 0)
a = 2;
else if(x < 0 && y < 0)
a = 3;
else if(x > 0 && y < 0 )
a = 4;
if( x == 0 && y == 0 )
System.out.println("点("+x+","+y+")在原点");
else if(x == 0 && y !=0 )
System.out.println("点("+x+","+y+")在Y轴");
else if( y == 0 && x != 0 )
System.out.println("点("+x+","+y+")在X轴");
else
System.out.println("点("+x+","+y+")在第"+a+"象限");
}
public double findDistance(Point p){
BigDecimal b = new BigDecimal(Double.toString(Math.sqrt(Math.pow(x - p.x, 2) + Math.pow(y - p.y, 2))));
return b.setScale(2, BigDecimal.ROUND_CEILING).doubleValue();
}
public String toString(){
return "("+x+","+y+")";
}
public static void main(String [] args){
Point p =new Point(3,2);
System.out.println("x="+p.getX()+"y="+p.getY());
p.pointEquals(new Point(3,2));
p.shiftPoint(5,6);
System.out.println("x="+p.getX()+"y="+p.getY());
p.whatQuadrant();
System.out.println(p.findDistance(new Point(0,0)));
System.out.println(p.toString());
}
}

1年前 追问

4

lili463 举报

public double findDistance(Point p){ double m=x-p.x; double n=y-p.y; return Math.sqrt(m*m+n*n); }这个简单点你的我不懂
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.026 s. - webmaster@yulucn.com