首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >If语句和JOptionPane

If语句和JOptionPane
EN

Stack Overflow用户
提问于 2014-09-30 23:09:19
回答 1查看 182关注 0票数 0

该程序假设用户使用JOptionPane输入三个边,然后告诉他们它是什么类型的三角形,并使用JOptionPane计算面积。

我让程序正常工作,但后来我意识到我需要添加第一个if语句,如果a,b或c大于其他两面的和,那么它就没有三角形。

我的问题是,当第一个if语句是正确的时,它就起作用了。但如果它不是真的,它告诉我没有三角形,结束程序,而不进入其余的if语句。

代码语言:javascript
复制
 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)));

    } 
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-30 23:17:29

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

代码语言:javascript
复制
if (a>=b+c || b>=a+c || c>=a+b); {

应该是

代码语言:javascript
复制
if (a>=b+c || b>=a+c || c>=a+b) {
               JOptionPane.showMessageDialog(null, "There is no triangle");
               System.exit(0); }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26131648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档