public class Line {
private Point p1,p2;
public static void main(String[] args) throws Throwable{
try(Scanner s = new Scanner(System.in)){
System.out.println("请按x1 y1 x2 y2的顺序输入线段的坐标。");
Point p1 = new Point(s.nextDouble(), s.nextDouble());
Point p2 = new Point(s.nextDouble(), s.nextDouble());
System.out.println("请按x y的顺序输入点的坐标。");
Point p3 = new Point(s.nextDouble(), s.nextDouble());
Line l = new Line(p1, p2);
System.out.printf("线段: %s%n", l);
System.out.printf("线段的长度: %.2f%n", l.getLength());
l.move(1, 1);
System.out.printf("移动后的线段: %s%n", l);
System.out.printf("点%s在线段%s上吗?: %s%n", p3, l, l.isOn(p3));
}
}
public Line(Point p1, Point p2) {
this.p1=p1;
this.p2=p2;
}
public double getLength() {
double sum=Math.sqrt((p2.getX()-p1.getX())*(p2.getX()-p1.getX())+(p2.getY()-p1.getY())*(p2.getY()-p1.getY()));
return sum;
}
public void move(int dx, int dy) {
p1.setX(p1.getX()+dx);
p1.setY(p1.getY()+dy);