【问题标题】:Beginner Java code - else if condition初学者 Java 代码 - else if 条件
【发布时间】:2017-02-16 16:00:38
【问题描述】:

我没有代码经验,刚开始学习 Java。 当我尝试其他 if 循环示例时,我无法执行以下代码并出现以下错误。我正在尝试检查根据“per”告诉我们的百分比,结果是一等、二等等

错误:

MyResult.java:19: error: 'else' without 'if'
class MyResult {
    public static void main(String[] args) {
        double per = 65.56;
        if (per >= 75) {
            System.out.println("Result is FCD");
        }
        elseif(per >= 60); {
            System.out.println("Result is FC");
        }
        elseif(per >= 45); {
            System.out.println("Result is SC");
        } else {
            System.out.println("Result fail");
        }
    }
}

【问题讨论】:

  • 在 if 块关闭之后,else 会很好地发生。
  • 放一个空格else if并删除;
  • 删除elseif 后面的;。另外,用两个词来说是else if,而不是elseif
  • 如果您还没有使用 IDE,我建议您使用 NetBeans 或 eclipse(两者都是免费的)
  • 一种有趣的编译器细微差别。 elseif 都是错误的,但是由于分号,它们被解析为有效的方法调用,后跟不受保护的代码块。只有在解析之后,编译器才会尝试解析方法elseif 并失败。所以你得到的错误是不匹配的“else”而不是错误的elseifs。

标签: java if-statement


【解决方案1】:

java 中没有elseif 关键字。您必须使用两个以空格分隔的单词,例如else if

另外,您需要在 else if 之后删除分号 ;

所以这个elseif(per >= 45); {会变成else if(per >= 45) {

你自己改变其他例子,你应该没问题。

【讨论】:

    【解决方案2】:

    你有一个分号

    elseif(per >= 45); {

    这标志着相应elseif 块的结束。去掉分号就可以了。

    另外,elseif 应该是 else if

    【讨论】:

      【解决方案3】:
      class MyResult {
          public static void main(String[] args) {
              double per = 65.56;
              if (per >= 75) {
                  System.out.println("Result is FCD");
              }
              else if(per >= 60) {
                  System.out.println("Result is FC");
              }
              else if(per >= 45) {
                  System.out.println("Result is SC");
              } else {
                  System.out.println("Result fail");
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-16
        • 2017-08-06
        • 1970-01-01
        • 1970-01-01
        • 2015-05-30
        • 1970-01-01
        相关资源
        最近更新 更多