JAVA判断三角形的类型
程序员文章站
2024-02-19 19:32:52
...
今天看到一段判断三角形类型的java代码,然后自己写了一个小程序
public static void main(String[] args) {
double chang[] = new double[3];
Scanner sc = new Scanner(System.in);
boolean flag = true;
int n = 0;
System.out.println("--------开始--------");
while(flag){
if(n > 0){
System.out.println("是否继续:F-停止,T-继续");
String str = sc.next();
if("F".equals(str)){
System.out.println("--------结束--------");
break;
}else if(!"T".equals(str)){
System.out.println("操作不合法,请重新输入:");
continue;
}
}
System.out.println("请输入三角形三条边:");
for (int i = 0; i < chang.length; i++) {
chang[i] = sc.nextDouble();
}
n++;
Arrays.sort(chang); //从小到大排序
if(chang[0] + chang[1] > chang[2]){ //两边之和大于第三边
//System.out.println(Math.sqrt(2)); //1.4142135623730951
//System.out.println(Math.pow(1.4142135623730951,2)); //2.0000000000000004
//由于不能输入根号2,就用1.4142135623730951代替,模拟一下直角三角形,平方之后是2.0000000000000004
if((int)(chang[2]*chang[2]) == (int)(chang[1]*chang[1]) + (int)(chang[0]*chang[0])){
if(chang[2] == chang[1] || chang[2] == chang[0] || chang[1] == chang[0]){
System.out.println("该三角形是等腰直角三角形");
continue;
}else{
System.out.println("该三角形是直角三角形");
continue;
}
}else if(chang[0] == chang[1] && chang[1]== chang[2]){
System.out.println("该三角形是等边三角形");
continue;
}else if(chang[2] == chang[1] || chang[2] == chang[0] || chang[1] == chang[0]){
System.out.println("该三角形是等腰三角形");
continue;
}else{
System.out.println("该三角形是普通三角形");
continue;
}
}else{
System.out.println("不是三角形");
continue;
}
}
}
运行结果:
--------开始--------
请输入三角形三条边:
1 4 7
不是三角形
是否继续:F-停止,T-继续
2
操作不合法,请重新输入:
是否继续:F-停止,T-继续
T
请输入三角形三条边:
3 4 5
该三角形是直角三角形
是否继续:F-停止,T-继续
T
请输入三角形三条边:
1.4142135623730951 1.4142135623730951 2
该三角形是等腰直角三角形
是否继续:F-停止,T-继续
T
请输入三角形三条边:
6 6 6
该三角形是等边三角形
是否继续:F-停止,T-继续
T
请输入三角形三条边:
4 6 6
该三角形是等腰三角形
是否继续:F-停止,T-继续
F
--------结束--------
上一篇: 爬虫入门到入手实战项目
下一篇: 配置Maven环境隔离