我将坐标作为输入,如下所示:
System.out.print("Enter the three X coordinates for Triangle (x1cord,x2cord,x3cord) :");
int x1cord = input.nextInt();
int x2cord = input.nextInt();
int x3cord = input.nextInt();
int x[] = {x1cord,x2cord,x3cord};
System.out.print("Enter the three Y coordinates for Triangle (y1cord,y2cord,y3cord) :");
int y1cord = input.nextInt();
int y2cord = input.nextInt();
int y3cord = input.nextInt();
int y[] = {y1cord,y2cord,y3cord};
shape = FillComponent.drawTriangle(x, y);
使用以下方法构建三角形:
Shape triangle = new Polygon(x[], y[], 3);
我想检查用户是否输入了有效坐标。 ----需要帮助。
答案 0 :(得分:4)
如果三个点不在一条直线上,则坐标形成一个有效三角形(任意两边的长度之和必须超过剩余边的长度)。
因此,使用坐标变量,这里是三角形验证逻辑(使用java.awt.Point
):
Point vertex1 = new Point(x1cord, y1cord);
Point vertex2 = new Point(x2cord, y2cord);
Point vertex3 = new Point(x3cord, y3cord);
double side1 = Math.abs(vertex1.distance(vertex2));
double side2 = Math.abs(vertex2.distance(vertex3));
double side3 = Math.abs(vertex3.distance(vertex1));
boolean valid = side1 + side2 > side3
&& side2 + side3 > side1
&& side3 + side1 > side2;
if (!valid) {
System.out.println("The entered coordinates do not form a triangle");
}
答案 1 :(得分:0)
如果您使用的是Swing,可以按如下方式编写代码
你将从
获得价值String cordinate_1=text_field1.getText();
并使用以下方法检查用户输入是否为整数
public static boolean isNumeric(String str)
{
try
{
double d = Double.parseDouble(str);
}
catch(NumberFormatException nfe)
{
return false;
}
return true;
}