2014-09-30 128 views
0

该程序假设有用户使用JOptionPane输入三面,然后告诉它们是什么类型的三角形,并使用JOptionPane计算面积。如果语句和JOptionPane

我有程序工作,但后来我意识到我需要添加第一个if语句,如果a,b或c大于其他两边的总和,那么它将打印出没有三角形的地方。

我的问题是,当第一个if语句是真实的比它的作品。但如果它不是真的,它告诉我没有三角形,并且结束程序而不会去看if语句的其余部分。

package assignment.ii; 
import javax.swing.JOptionPane; 
import java.lang.*; 
public class AssignmentII 

    { 

public static void main(String[] args) { 

    int a = Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter a side of the triangle ")); 
    int b = Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter a side of the triangle ")); 
    int c = Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter a side of the triangle ")); 
    double s = (.5*(a+b+c)); 
    { 
    if (a>=b+c || b>=a+c || c>=a+b); { 
       JOptionPane.showMessageDialog(null, "There is no triangle"); 
       System.exit(0); } 

    }if ((a==b) && (b==c)) { 
       JOptionPane.showMessageDialog(null, "The triangle is a equilateral triangle"); 

    }else if (((a*a)+(b*b)) == (c*c)) { 
       JOptionPane.showMessageDialog(null, "The triangle is a right triangle"); 
       if (a==b || b==c || c==a) 
       JOptionPane.showMessageDialog(null, "The triangle is a Isosceles triangle"); 

    }else if (((a*a)+(b*b))<(c*c)){  
       JOptionPane.showMessageDialog(null, "The triangle is an obtuse triangle"); 
       if (a==b || b==c || c==a) 
       JOptionPane.showMessageDialog(null, "The triangle is a Isosceles triangle"); 

    }else if (((a*a)+(b*b))>(c*c)){    
       JOptionPane.showMessageDialog(null, "The triangle is an acute triangle"); 
       if (a==b || b==c || c==a) 
       JOptionPane.showMessageDialog(null, "The triangle is a Isosceles triangle"); 

    } 

    JOptionPane.showMessageDialog(null, "The area of the triangle is: " + Math.sqrt((s)*(s - a)*(s - b)*(s - c))); 

    } 
    } 
+0

if语句不工作...压痕没有帮助! – Ian 2014-09-30 23:15:00

回答

0

您有一个错误的分号终止if语句。

if (a>=b+c || b>=a+c || c>=a+b); { 

if (a>=b+c || b>=a+c || c>=a+b) { 
       JOptionPane.showMessageDialog(null, "There is no triangle"); 
       System.exit(0); }