三角形输入三个点判断
编写一个函数,输入三个点的坐标,返回这三点组成的三角形类型。当输入(0,0)的时候,退出程序。 --------------------编程问答-------------------- 做作业啊? --------------------编程问答-------------------- 仅用到高中的平面解析几何知识,作业帖。 --------------------编程问答-------------------- 这三点。。还可能在一条直线上呢,就拿坐标(x1,y1),(x2,y2)长度2=(x1-x2)2+(y1-y2)2 --------------------编程问答-------------------- import java.util.Scanner;public class TestRectangle {
Scanner input = new Scanner(System.in);
public static void main(String[] args) {
TestRectangle tr = new TestRectangle();
tr.test();
}
public void test(){
int []arr_x = new int[3];
int []arr_y = new int[3];
for(int i=0;i<3;i++){
System.out.println("请输入第"+(i+1)+"个点的x坐标");
arr_x[i]=input.nextInt();
System.out.println("请输入第"+(i+1)+"个点的y坐标");
arr_y[i] = input.nextInt();
}
//分别求出三角形的三条边长
double line_1 = Math.sqrt(Math.pow((arr_y[0]-arr_y[1]),2)+Math.pow((arr_x[0]-arr_x[1]),2));
System.out.println("第一条边长为="+line_1);
double line_2 = Math.sqrt(Math.pow((arr_y[1]-arr_y[2]),2)+Math.pow((arr_x[1]-arr_x[2]),2));
System.out.println("第二条边长为="+line_2);
double line_3 = Math.sqrt(Math.pow((arr_y[0]-arr_y[2]),2)+Math.pow((arr_x[0]-arr_x[2]),2));
System.out.println("第三条边长为="+line_3);
//三条边长的平方
double lineDouble_1 = Math.pow((arr_y[0]-arr_y[1]),2)+Math.pow((arr_x[0]-arr_x[1]),2);
System.out.println("第一条边的平方为="+lineDouble_1);
double lineDouble_2 = Math.pow((arr_y[0]-arr_y[2]),2)+Math.pow((arr_x[0]-arr_x[2]),2);
System.out.println("第二条边的平方为="+lineDouble_2);
double lineDouble_3 = Math.pow((arr_y[1]-arr_y[2]),2)+Math.pow((arr_x[1]-arr_x[2]),2);
System.out.println("第三条边的平方为="+lineDouble_3);
//先判断能否够成三角形
if(line_1+line_2>line_3&&line_1+line_3>line_2&&line_2+line_3>line_1){
//判断是否为直角三角形(勾股定理)
if(lineDouble_1+lineDouble_2==lineDouble_3||
lineDouble_1+lineDouble_3==lineDouble_2||
lineDouble_2+lineDouble_3==lineDouble_1){
System.out.println("你输入的三点构成直角三角形");
}else if(lineDouble_1+lineDouble_2<lineDouble_3||
lineDouble_1+lineDouble_3<lineDouble_2||
lineDouble_2+lineDouble_3<lineDouble_1){
System.out.println("你输入的三点构成钝角三角形");
}else{
System.out.println("你输入的三点构成锐角三角形");
}
}else{
System.out.println("输入的三个点不能构成三角形!");
}
}
}
--------------------编程问答-------------------- import java.util.Scanner;
public class TestRectangle {
Scanner input = new Scanner(System.in);
public static void main(String[] args) {
TestRectangle tr = new TestRectangle();
tr.test();
}
public void test(){
int []arr_x = new int[3];
int []arr_y = new int[3];
for(int i=0;i<3;i++){
System.out.println("请输入第"+(i+1)+"个点的x坐标");
arr_x[i]=input.nextInt();
System.out.println("请输入第"+(i+1)+"个点的y坐标");
arr_y[i] = input.nextInt();
}
//分别求出三角形的三条边长
double line_1 = Math.sqrt(Math.pow((arr_y[0]-arr_y[1]),2)+Math.pow((arr_x[0]-arr_x[1]),2));
System.out.println("第一条边长为="+line_1);
double line_2 = Math.sqrt(Math.pow((arr_y[1]-arr_y[2]),2)+Math.pow((arr_x[1]-arr_x[2]),2));
System.out.println("第二条边长为="+line_2);
double line_3 = Math.sqrt(Math.pow((arr_y[0]-arr_y[2]),2)+Math.pow((arr_x[0]-arr_x[2]),2));
System.out.println("第三条边长为="+line_3);
//三条边长的平方
double lineDouble_1 = Math.pow((arr_y[0]-arr_y[1]),2)+Math.pow((arr_x[0]-arr_x[1]),2);
System.out.println("第一条边的平方为="+lineDouble_1);
double lineDouble_2 = Math.pow((arr_y[0]-arr_y[2]),2)+Math.pow((arr_x[0]-arr_x[2]),2);
System.out.println("第二条边的平方为="+lineDouble_2);
double lineDouble_3 = Math.pow((arr_y[1]-arr_y[2]),2)+Math.pow((arr_x[1]-arr_x[2]),2);
System.out.println("第三条边的平方为="+lineDouble_3);
//先判断能否够成三角形
if(line_1+line_2>line_3&&line_1+line_3>line_2&&line_2+line_3>line_1){
//判断是否为直角三角形(勾股定理)
if(lineDouble_1+lineDouble_2==lineDouble_3||
lineDouble_1+lineDouble_3==lineDouble_2||
lineDouble_2+lineDouble_3==lineDouble_1){
System.out.println("你输入的三点构成直角三角形");
}else if(lineDouble_1+lineDouble_2<lineDouble_3||
lineDouble_1+lineDouble_3<lineDouble_2||
lineDouble_2+lineDouble_3<lineDouble_1){
System.out.println("你输入的三点构成钝角三角形");
}else{
System.out.println("你输入的三点构成锐角三角形");
}
}else{
System.out.println("输入的三个点不能构成三角形!");
}
}
}
--------------------编程问答-------------------- 太强大了,都看不懂啊 --------------------编程问答-------------------- 首先非常感谢回复
其次,这么长啊。可不可以简短精炼易懂点? --------------------编程问答-------------------- 楼上的 --------------------编程问答-------------------- 学习下,判断三角形的方法。
补充:Java , Java SE