(几何:线段上的点)编程练习题 3.32显示了如何测试一个点是否在一个无限长的直线上。修改 编程练习题 3.32, 测试一个点是否在一个线段上。编写一个程序,提示用户输入三个点 P0、pi1和 p2, 显示 p2 是否在从 p0 到 p1的线段上。这里是一些运行示例:
public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 数组point 保存坐标 double[] p = new double[6]; // 输入点坐标 System.out.print("Enter three points p0 , p1 and p2:"); for (int i = 0; i < p.length; i++) { p[i] = sc.nextDouble(); } sc.close(); // p[4],p[5]带入直线两点式是否相等 if ((p[5] - p[1]) / (p[3] - p[1]) == (p[4] - p[0]) / (p[2] - p[0])) { System.out.println("(" + p[4] + "," + p[5] + " is on the line segment from " + "(" + p[0] + "," + p[1] + ")" + "to" + "(" + p[2] + "," + p[3] + ")"); } else { System.out.println("(" + p[4] + "," + p[5] + ")" + " is not on the line segment from " + "(" + p[0] + "," + p[1] + ")" + "to" + "(" + p[2] + "," + p[3] + ")"); } }