输入“else if”时为什么会出现错误?

时间:2016-04-20 14:20:36

标签: java

所以我是java的新手,我刚开始学习,同时制作一个非常简单的程序来确定当前的温度是热,暖还是冷。 一切都好,但是当我输入“else if”时,我会得到一个bug,我想知道如何解决它并且最重要的是:为什么我会收到此错误?所以我不再重复了。我已经找到了我的问题的答案,但我什么也没找到,所以这就是我在这里问的原因。在这里你可以看到我得到的错误:http://imgur.com/a/f9SJ6

package com.marin.src;

import java.util.Scanner;

public class MainClass {

public static void main(String[] args){

    double temp;
    Scanner s = new Scanner(System.in);

    System.out.println("Introduce una temperatura: "); //That only means "enter a temperature"
    temp = s.nextDouble();

    if(temp > 30){
        System.out.println("Hace calor."); //That only means "it's hot"
    }
    else{
        System.out.println("Hace frío."); //That only means "it's cold"
    }
    else if (temp > 25){
        System.out.println("La temperatura es normal."); //that only means "it's warm"
    }

   }
}

3 个答案:

答案 0 :(得分:2)

您必须将else if放在else之前,因为else块是每个 除if条件之外的其他情况 所以你必须这样做:

if () {

} else if() {

} else {

}

如果if条件为false,则会检查else if条件,如果不成功,则会执行else

答案 1 :(得分:0)

使用:

package com.marin.src;

import java.util.Scanner;

public class MainClass {

public static void main(String[] args){

double temp;
Scanner s = new Scanner(System.in);

System.out.println("Introduce una temperatura: "); //That only means "enter a temperature"
temp = s.nextDouble();

if(temp > 30){
    System.out.println("Hace calor."); //That only means "it's hot"
} else if (temp > 25){
    System.out.println("La temperatura es normal."); //that only means "it's warm"
}
else{
    System.out.println("Hace frío."); //That only means "it's cold"
}


}
}

答案 2 :(得分:0)

因为您试图在else if语句后写else。您的else语句应写为最后一个条件。如果不满足上述任何一种情况,就会在最后执行。