有没有办法简化我的java代码?

有没有办法简化我的java代码?,java,Java,我是这里的初学者。我试图确定用户是否给出了三角形的三条边,程序将检查它是什么类型的三角形。有没有什么方法可以不使用高级代码而缩短此代码 这是我的密码 double a = 13 double b = 8 double c = 7 double leg1, leg2, leg3; if(a > b && a > c){ leg1 = Math.pow(a,2); leg2 = Math.pow(b,2);

我是这里的初学者。我试图确定用户是否给出了三角形的三条边,程序将检查它是什么类型的三角形。有没有什么方法可以不使用高级代码而缩短此代码

这是我的密码

double a = 13
double b = 8
double c = 7
double leg1, leg2, leg3;
        if(a > b && a > c){
            leg1 = Math.pow(a,2);
            leg2 = Math.pow(b,2);
            leg3 = Math.pow(c,2);
                if(leg1 == leg2 + leg3) {
                    System.out.println("Right.");
                }else if (leg1 > leg2 + leg3){
                    System.out.println("Obtuse.");
                }else if (leg1 < leg2 + leg3){
                    System.out.println("Acute.");
                }
        }else if(b > a && b > c){
            leg1 = Math.pow(b,2);
            leg2 = Math.pow(a,2);
            leg3 = Math.pow(c,2);
            if(leg1 == leg2 + leg3) {
                System.out.println("Right.");
            }else if (leg1 > leg2 + leg3){
                System.out.println("Obtuse.");
            }else if (leg1 < leg2 + leg3){
                System.out.println("Acute.");
            }
        }else if (c > a && c > b){
            leg1 = Math.pow(c,2);
            leg2 = Math.pow(a,2);
            leg3 = Math.pow(b,2);
            if(leg1 == leg2 + leg3) {
                System.out.println("Right.");
            }else if (leg1 > leg2 + leg3){
                System.out.println("Obtuse.");
            }else if (leg1 < leg2 + leg3){
                System.out.println("Acute.");
            }
        }else{
            System.out.println("You have entered an invalid triangle.");
        }

我觉得这有点离题,但这次没关系

基本上,这个代码段要写3次,所以必须封装在函数中

if(leg1 == leg2 + leg3) {
                System.out.println("Right.");
            }else if (leg1 > leg2 + leg3){
                System.out.println("Obtuse.");
            }else if (leg1 < leg2 + leg3){
                System.out.println("Acute.");
            }

然而,这种方法并不真正像Java,因为它使用的是原语而不是对象。

您可能想试试询问。请阅读。首先对输入端进行排序,使a始终是最长的,c始终是最短的。这以后会保存一些比较。你还需要详细解释你所考虑的高级。试着把打印放在最后,基于你的if语句中设置的一些布尔值,请参考问题不要问。只是为了正确地引导你——也许会有帮助。
public void defineTriangle(double leg1, double leg2, double leg3){
    if(leg1 == leg2 + leg3) {
                    System.out.println("Right.");
                }else if (leg1 > leg2 + leg3){
                    System.out.println("Obtuse.");
                }else if (leg1 < leg2 + leg3){
                    System.out.println("Acute.");
                }
}
double a = 13;
double b = 8;
double c = 7;
double[] sides = {a,b,c};
Arrays.sort(sides);
defineTriangle(sides[0], sides[1], sides[2]);