用对象的概念做题,要求判断出是什么类型的三角形。

用对象的概念做题,要求判断出是什么类型的三角形。题目细节要求如下图,求大神救,本人小白一枚。图片说明图片说明

需求已经很明确了,要写好代码只有多练,多想,写完了有问题的话大家可以帮你看看。

 package test;

import java.util.Scanner;

public class TriangleTest {
    public static void main(String[] args) {
        TriangleTest test = new TriangleTest();
        Scanner scan = new Scanner(System.in);
        String next = "";
        while(!"n".equals(next)){
            System.out.print("请输入第一条边:");
            int a = scan.nextInt();
            System.out.print("请输入第二条边:");
            int b = scan.nextInt();
            System.out.print("请输入第三条边:");
            int c = scan.nextInt();
            if(!test.isTriangle(a, b, c))
                System.out.println("这不能构成三角形。");
            else{
                String shape = test.shape(a, b, c);
                System.out.println("这是一个"+shape);
            }
            System.out.print("要继续吗?(y/n):");
            next = scan.next();
        }
        System.out.println("谢谢使用");
    }

    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="";
        //最大边长
        int max = (a>b)?a:b;
        max = (max>c)?max:c;
        //三条边的平方和
        double sum = Math.pow(a, 2)+Math.pow(b, 2)+Math.pow(c, 2);
        //最大边长的平方*2
        double m = Math.pow(max, 2)*2;
        if(m > sum)
            shape="钝角三角形";
        else if(m == sum)
            shape="直角三角形";
        else
            shape="锐角三角形";
        return shape;
    }
}

判断一下最大边 两个小边大于最大边就可以