java - 错误 : 'else' without 'if'

标签 java if-statement scope curly-braces

<分区>

获取没有 if 语句的 else:

import java.util.Scanner;

public class LazyDaysCamp
{
    public static void main (String[] args)
    {
        int temp;
        Scanner scan = new Scanner(System.in);

        System.out.println ("What's the current temperature?");
        temp = scan.nextInt();
        if (temp > 95 || temp < 20);
            System.out.println ("Visit our shops");
            else if (temp <= 95)
                if (temp >= 80)
                System.out.println ("Swimming");
                else if (temp >=60) 
                    if (temp <= 80)
                    System.out.println ("Tennis");
                    else if (temp >= 40)
                        if (temp < 60)
                        System.out.println ("Golf");
                        else if (temp < 40)
                            if (temp >= 20)
                            System.out.println ("Skiing");                                                                                                                                                                                                                                                                   
    }
}

如果这就是它看起来像的原因,我需要使用级联。另外,如果我正确地进行了级联,你能告诉我吗?我还没有找到级联的好例子,所以我只是尽力了解级联的含义。

LazyDaysCamp.java:14: error: 'else' without 'if'
            else if (temp <= 95)
            ^
1 error

这就是我遇到的错误

最佳答案

去掉这一行末尾的分号:

if (temp > 95 || temp < 20);

请使用大括号! Java 与 Python 不同,在 Python 中缩进代码会创建一个新的 block 作用域。最好谨慎行事,始终使用大括号 - 至少在您对这门语言有了更多的经验并且确切地理解什么时候可以省略它们之前。

关于java - 错误 : 'else' without 'if' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13059729/

相关文章:

java - 添加不带 .jar 文件的 Apache xml-rpc 库

java - 如何执行循环字符串数组的 if else 语句?

c# - Main() 不想访问类变量

java - if 语句产生不正确的结果

python - 为什么我的函数只能看到我的一些全局变量?

c++ - 类静态变量初始化顺序

java - 持久性逻辑应该放置在域模型 bean 中还是仅放置在 DAO 中?

java - Multi-Tenancy 究竟是什么,还是另一个流行词?

java - 如何捕获 Marathon 中的弹出对话框?

Python 检查列表项是否(不)包含任何其他列表项