Java三角型程序的问题

Java三角型程序的问题,java,types,geometry,Java,Types,Geometry,帮助正确的公式计算正确的三角形类型…任何帮助将不胜感激。 我需要一些帮助修改这段代码,它似乎一直给我一个错误返回多个结果。因此,我得到的结果是,我的值同时等于等参线、不等角线,而不是三角形值 问题是在else语句后面有一个分号: import java.util.Scanner; public class labAssignment4 { public static void main(String[] args){ Scanner user = new Scanner

帮助正确的公式计算正确的三角形类型…任何帮助将不胜感激。
我需要一些帮助修改这段代码,它似乎一直给我一个错误返回多个结果。因此,我得到的结果是,我的值同时等于等参线、不等角线,而不是三角形值

问题是在else语句后面有一个分号:

import java.util.Scanner;

public class labAssignment4 {
    public static void main(String[] args){
        Scanner user = new Scanner(System.in);
        //Variables
        double a, b, c;

        System.out.println("Enter longest side: ");
        a = user.nextDouble();
        System.out.println("Enter second side: ");
        b = user.nextDouble();
        System.out.println("Enter third side: ");
        c = user.nextDouble();
        //Help fix code to compute triangle type correctly...

                if (a==b&&b==c)
                {
                    System.out.println("Equilateral Triangle");
                }

                else if (a==b && b==c);
                    {
                        System.out.println("Isoceles Triangle");
                    }
                    if (!((a == b) && (a == c) && (b == c))); 
                    {
                    System.out.println("Scalene Triangle");
                    }
                    if (((a + b) >= (c)) ||((a + b) >= (b)) ||((b +c) >= (a)));
                    {
                        System.out.println("Not a Triangle");
                    }



          } 
    }
这将导致程序打印
“不等边三角形”
“非三角形”
,无论
if
语句中的测试条件是否为真/假


解决方法很简单:删除分号

你的if语句有点混乱。还需要在上面加上括号,并去掉分号。三角形的条件也需要修正

if (!((a == b) && (a == c) && (b == c))); //<-- semicolon here
{
   System.out.println("Scalene Triangle");
}
if (((a + b) >= (c)) ||((a + b) >= (b)) ||((b +c) >= (a))); //<-- semicolon here
{
   System.out.println("Not a Triangle");
}

谢谢,这解决了其中一个问题
if (!((a == b) && (a == c) && (b == c))); //<-- semicolon here
{
   System.out.println("Scalene Triangle");
}
if (((a + b) >= (c)) ||((a + b) >= (b)) ||((b +c) >= (a))); //<-- semicolon here
{
   System.out.println("Not a Triangle");
}
if (a==b && b==c) System.out.println("Equilateral Triangle");
    else {
    if ((a==b && b!=c) || (a==c && a!=b)) {
       System.out.println("Isoceles Triangle");
       }
    if (a!=b && b!=c && a!=c) {
       System.out.println("Scalene Triangle");
       }
    if !(((a + b) > c) && ((a + c) > b) && ((b + c) > a)) {
       System.out.println("Not a Triangle");
       }
    }