【发布时间】:2022-11-14 06:51:25
【问题描述】:
得到一个没有 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 语句。至少可以删除 4 个 if 语句而不会影响程序逻辑,因为它们只是测试已知信息。
-
@Ted Hopp,大括号对解决这类问题没有帮助。几乎在任何地方都可以使用代码块 (
{})。无需在代码块之前声明循环或条件。事实上,有时它们只是用来专门限制某些局部变量的范围很有趣。但是,以自动方式格式化代码的适当 IDE 将有助于解决此问题。
标签: java if-statement scope curly-braces