假设将一个直角三角形放置在一个平面上,如下所示。直角点放置在(0, 0)处,另外两个点放置在(200, 0)和(0, 100)处。编写一个程序,提示用户输入带有 x 和 y 坐标的点,并确定该点是否在三角形内部。 `String xInput, yInput; double x, y; xInput = JOptionPane.showInputDialog("Enter the x-coordinate of the point"); yInput = JOptionPane.showInputDialog("Enter the y-coordinate of the point"); x = Double.parseDouble(xInput); y = Double.parseDouble(yInput); if (x <= 200 && x >= 0 && y <= 100 && y >= 0) { if (y = roundup(x/2)) System.out.print("The point is in the the triangle"); else System.out.print("The point isn't in the triangle"); }else System.out.print("The point isn't in the triangle");`The output is an error in the second if saying that a double can't be a boolean
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
基本上你有一个线性公式 y = 100 - x/2 其中 x 在 0 到 200 之间,所以我们可以为此创建简单的方法
static double calculateY(double x) {
return 100.0 - x / 2.0;
}
然后将 x 与边界进行比较,将 y 与公式进行比较
if (x < 0 || x > 200 || y < 0) {
System.out.print("The point isn't in the triangle");
} else if ( y <= calculateY(x)) {
System.out.print("The point is in the the triangle");
} else
System.out.print("The point isn't in the triangle");
}
慕慕森
TA贡献1856条经验 获得超17个赞
考虑一个顶点位于 (0, 0)、(1, 0) 和 (0, 1) 的三角形。编写一个程序,询问用户 x 和 y 坐标,然后输出该点是在三角形内部、在三角形边界上还是在三角形外部。
添加回答
举报
0/150
提交
取消