我怎样才能摆脱错误java:30:错误:'else'没有'if'else if if?为什么一定要这样呢?

时间:2014-09-15 21:55:09

标签: java

以下是代码:

import java.util.Scanner;
public class FantahunKeburAlmostIsoscelesRightTriangle{
public static void main (String []args){

    Scanner s = new Scanner(System.in);

    System.out.println("Enter the longest side: ");
    double longest = s.nextDouble();
    System.out.println("Enter 2nd side: ");
    double second = s.nextDouble();
    System.out.println("Enter 3rd side: ");
    double third = s.nextDouble();

    double longsq = longest*longest;
    double secondsq = second*second;
    double thirdsq = third*third;
    double secthirdsq = secondsq*thirdsq;

if  (secthirdsq==longsq);
{
System.out.println("This triangle is an almost-Isosceles right triangle. ");

}
else {
System.out.println("This triangle is not a right triangle. ");


}}
}

我试过if(secthirdsq!= longsq);所以它会打印这个三角形不是一个直角三角形。但是之后我得到了大约6个错误,所以任何帮助都会受到赞赏! 如果需要更多信息,请随时询问

2 个答案:

答案 0 :(得分:3)

在if的末尾有一个半冒号,导致if语句中的代码实际上是一个无论什么都执行的代码块。编译器然后看到下一个代码块是else,并注意到前一个块实际上不是if。

if  (secthirdsq==longsq);

答案 1 :(得分:3)

如果(;)语法为:

,则首先有分号
if(condition) {
...
} else {
...
}

编辑:

else没有条件,要为你必须做的其他事情添加条件

else if (condition)

虽然在你的情况下它是多余的,因为如果a == b为假,那么仅使用else将执行!= b的代码

编辑2:

在Java中正确使用if else

if (condition) { 
code 1
} else {
code 2
}

表示:如果满足条件,则在每个其他情况下执行代码1执行代码2.

if (condition 1) {
code 1
} else if (condition 2) {
code 2
} 

非常明显条件1满足 - 执行代码1,满足条件2 - 执行代码2.在这种情况下,如果条件1不满足则不一定执行代码2。更进一步,您可以添加越来越多的else if语句。这就是你需要了解的所有内容。