java输入三角形的三个边判断能否构成三角形。并判断构成三角形的类别(等边,等腰,普通)

 我来答
flyingFish211
推荐于2018-03-12 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
import java.util.Scanner;

public class Trigon {

private double a;
private double b;
private double c;

public Trigon(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);
System.out.println("Please input first side:");//输入第1条边
double a = scan.nextDouble();
System.out.println("Please input second side:");//输入第2条边
double b = scan.nextDouble();
System.out.println("Please input third side:");////输入第3条边
double c = scan.nextDouble();
scan.close();

Trigon.isTrigon(a, b, c);//判断输入的能否构成三角形以及类型
}

public static void isTrigon(double a, double b, double c) {

if(a <= 0 || b <=0 || c <= 0){//如果有小于0的边长,显然不行
System.out.println("Can't");
return;
}

if (a + b > c && a + c > b && b + c > a) {//2边之和一定要大于第三边
if (a == b || a == c || b == c) {//等腰
if (a == b && b == c) {//等边
System.out.println("可以组成等边三角形");
} else {
System.out.println("可以组成等腰三角形");
}
return;
}

System.out.println("可以组成普通三角形");//普通
return;
}

System.out.println("不能够组成三角形!");//不能构成三角形
}

}

------------------
Please input first side:
3
Please input second side:
3
Please input third side:
2
可以组成等腰三角形
Jseven_jy
2011-03-03 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1138万
展开全部
代码如下。。。我测试了下。。。。应该满足你的需求。。。
import java.util.Scanner;

public class Test {
public static void main(String args[]) {
int a, b, c;// 保存三角形的三条边

Scanner in = new Scanner(System.in);// 获取用户输入的三条边
System.out.println("请输入三角形的三条边:");
a = in.nextInt();
b = in.nextInt();
c = in.nextInt();
in.close();// 关闭输入

if (a <= 0 || b <= 0 || c <= 0)
System.out.println("输入错误,边长不能为负");
if ((a + b > c) && Math.abs(a - b) < c &&
(a + c > b)&& Math.abs(a - c) < b &&
(c + b > a) && Math.abs(c - b) < a) {
//三角形满足的要求,两边之和大于第三边,两边之差小于第三边

if (a == b || b == c || a == c) {

if (a == b && b == c)
System.out.println("这是一个等边三角形");
else
System.out.println("这是一个等腰三角形");
} else if (a * a + b * b == c * c || a * a + c * c == b * b
|| b * b + c * c == a * a)
System.out.println("这是一个直角三角形");
else
System.out.println("这是一个普通的三角形");
}else{
System.out.println("不能构成一个三角形");
}
}
}

希望对你有帮助。。。。仍有问题可以HI我。。。
追问
能写个简单的吗
追答
这个已经简单了哦。。。。先输入三个边。。。然后根据他输入的三个边来判断它的类型。。。
有什么地方没看明白的话。。我可以给你讲讲。。。

因为你的要求就是要实现这些东东 哦。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-28
展开全部
if((a+b)>c&&(a+c>b)&&(b+c)>a){cout<<"能构成三角形\n";if(a==b&&b==c)cout<<"是等边三角形\n";elseif(a==b||a==c||b==c)cout<<"是等腰三角形\n";elsecout<<"是一般三角形\n";}elsecout<<"不能构成三角形\n";IF和最近的ELSE配对,所以楼主你的代码是有两个IF-ELSE配对的,所以有两结果咯把等边等腰一般三角形的分别放到“能构成三角形”的IF语句中去而且应该先判定是否为等边,再判定是否为等腰
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无限江山是称家i
2011-03-03 · TA获得超过358个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:214万
展开全部
public class Demo{
int a1, a2, a3;
InputStreamReader isr = new InputStremReader(System.in);
BufferedReader br = new BufferedReader(isr);
a1 = (int)(br.readLine());
InputStreamReader isr = new InputStremReader(System.in);
BufferedReader br = new BufferedReader(isr);
a2 = (int)(br.readLine());
InputStreamReader isr = new InputStremReader(System.in);
BufferedReader br = new BufferedReader(isr);
a3 = (int)(br.readLine())
if((a1 + a2 > a3) && (a1 + a3 > a2) &&(a2 + a3 > a1)){
if(a1 == a2 || a1 == a3 || a2 == a3){
System.out.println("等腰三角形");
}
if(a1 == a2 && a1 == a3 && a2 == a3){
System.out.println("等边三角形");
}else {
System.out.println("普通三角形");
}
System.out.println("不能构成三角形");

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式