中易网

(Java)判断三角形的形状

答案:3  悬赏:30  
解决时间 2021-12-20 09:42
下面的代码不知哪里错了,无论输入什么数,结果都是“不能构成三角形”
import java.util.Scanner;


class Judge {
public boolean isTriangle(int a, int b, int c) {
boolean flag = false;
if ((a + b > c) && (a + c > b) && (b + c > a)) {
flag = true;
}
return flag;
}

public String shape(int a, int b, int c) {
String shape = "";
if (a == b && b == c) {
shape = "这是一个等边三角形";
} else if ((a * a + b * b == c * c) || (a * a + c * c == b * b)
|| (c * c + b * b == a * a)) {
shape = "这是一个直角三角形";
} else if ((a * a > b * b + c * c) || (b * b > c * c + a * a)
|| (c * c > b * b + a * a)) {
shape = "这是一个钝角三角形";
} else {
shape = "这是一个锐角三角形";
}
return shape;
}
}

public class Shape {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String d = "y";
while ("y".equals(d)) {
System.out.print("请输入第一边:");
int a = input.nextInt();
System.out.print("请输入第二边:");
int b = input.nextInt();
System.out.print("请输入第三边:");
int c = input.nextInt();
Judge show = new Judge();
if ("true".equals(show.isTriangle(a, b, c))) {
show.shape(a, b, c);
} else {
System.out.println("这不能构成三角形");
}
System.out.print("继续吗?(y/n):");
d = input.next();

}
System.out.println("谢谢使用!");
}

}
最佳答案
if ("true".equals(show.isTriangle(a, b, c))) {

改成
if (show.isTriangle(a, b, c)) {

if ((a + b > c) && (a + c > b) && (b + c > a)) {

改成
if (((a + b) > c) && ((a + c) > b) && ((b + c) > a)) {

你再试试
全部回答
class C{double a,b,d;public void getD(){//没有返回类型要用void if(a+b>d&&a+d>b&&b+d>a){ if(a*a==b*b+d*d||b*b==a*a+d*d||d*d==a*a+b*b){ System.out.printf("%-8.3f%-8.3f%-8.3f构成是直角三角形",a,b,d); } else if(a*a<b*b+d*d&&b*b<a*a+d*d&&d*d<a*a+b*b){ System.out.printf("%-8.3f%-8.3f%-8.3f构成锐角三角形",a,b,d); } else{ System.out.printf("%-8.3f%-8.3f%-8.3f构成钝角三角形",a,b,d); } } else{ System.out.printf("%f,%f,%f不能构成三角形",a,b,d); } }}import java.util.*;public class A{ public static void main (String args[ ]){ C c; c=new C(); Scanner reader=new Scanner(System.in); double a=0,b=0,d=0; System.out.print("输入边a:"); c.a=reader.nextDouble(); System.out.print("输入边b:"); c.b=reader.nextDouble(); System.out.print("输入边d:"); c.d=reader.nextDouble(); c.getD();}} 请采纳。
首先确定输入的类型是使double 或者 float ,r如果不是,就throw 一个exception 例如void tri(double a, double b, double c) { //a, b, c 分别是散边长度 try{ if(任意两边之和大于第三边&&任意两边之差小于第三边){ // 这个地方不确定,使满足一个就可以还是要同时满足,所以都都写上了。保证没有错~~哈哈 if (a == b){ if(a==c) system.out.println("等边“) else 输出等腰; } else 输出三角形; }} catch(e){ system.out.print("输入的不是数字“);//. } 不知道这样写能不能帮到你。。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
敖家派出所地址在什么地方,想过去办事
鼠狗輩的意思是什么?鼠狗輩的释义是什么啊?
酷派7230刚买回来发现键盘灯不亮,是怎么回事
井研县高滩派出所地址有知道的么?有点事想过
惵惵的意思是什么?惵惵的释义是什么啊?
梵宇的意思是什么啊?请解释下!
有盗窃前科又犯销赃三次价值7000判多少
问一个简单的问题哈‘‘藕粉咋泡好的?
怎样用同一个手机号申请另一个微信
束濕的意思是什么?束濕的释义是什么啊?
为什么我们平常在中国吃的pizza在意大利人眼
鬼芋的意思是什么啊?请解释下!
甘孜镇派出所地址好找么,我有些事要过去
现在去读电子商务,读中专好不好,读电子商务
寬度的意思是什么?寬度的释义是什么啊?
推荐资讯
我现在想房子抵押贷款,房子是我老公的名字
宽徇的意思是什么啊?请解释下!
八白十全店我想知道这个在什么地方
28918989187怎么巧算
求助,表白蜡烛能不能过高铁安检
采芹人的意思是什么?采芹人的释义是什么啊?
农历节气是怎样排出来的
台湾出入境问题请教
如东县古坝供电营业厅(网点)地址在哪,我要
七年级上册数学小昭课堂3.1.1
酒精中和剂
一天吃三四个鸡蛋会不会营养过剩?如题谢谢了
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?