Else Statement是语法错误?

jac*_*obl 1 java syntax if-statement syntax-error

我的代码对你们很多人来说可能都很业余,所以如果我的任何逻辑搞砸了,那没关系.我稍后会解决这个问题.只是想知道是否有人能让我知道为什么我的else语句会出现:"线程中的异常"主"java.lang.Error:未解决的编译问题:令牌"else"上的语法错误,删除此标记"

我在这里阅读了一些其他问题,通常问题是人们正在检查条件(否则(blah <bleh){)与else,但我没有这样做.

import java.util.Scanner;

public class minOfThree {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner kb = new Scanner (System.in);
        int num1, num2, num3, num4, min = 0;

        System.out.println ("Please enter three numbers.");
        System.out.print ("First value: ");
        num1=kb.nextInt();
        System.out.print ("Second value: ");
        num2=kb.nextInt();
        System.out.print ("Third value: ");
        num3=kb.nextInt();
        System.out.print ("Fourth value: ");
        num4=kb.nextInt();

        if (num1 < num2)
            if (num1 < num3)
                min=num1;
            else
                min=num3;
        else if (num2 < num3)
                min=num2;
            else
                min = num3;
        ***else*** {
            min = num4;
        }
        System.out.println ("Minimum value is: " + min);
    }
}
Run Code Online (Sandbox Code Playgroud)

The*_*Hat 8

如果您正确使用{并可以避免这种情况}:

if(num1 < num2) //"if" for if-else #1
{
    if(num1 < num3) //"if" for if-else #2
    {
        min=num1;
    }
    else //"else" for if-else #2
    {
        min=num3;
    } //complete end of if-else #2
}
else if(num2 < num3) //"else if" for if-else #1
{
    min=num2;
}
else //"else" for if-else #1
{
    min = num3;
} //complete end of if-else #1
else //"else" for nonexistent if-else == error
{
    min = num4;
}
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到你else在一个if-else语句中有两个s.

要修复它,请使用以下内容:

min = Integer.MAX_VALUE; //minimum = maximum possible
if(num1 < min) //if num1 is less than current minimum...
{
    min = num1; //current minimum = num1
}
if(num2 < min) //if num2 is less than current minimum...
{
    min = num2; //current minimum = num2
}
if(num3 < min) //if num3 is less than current minimum...
{
    min = num3; //current minimum = num3
}
if(num4 < min) //if num4 is less than current minimum...
{
    min = num4; //current minimum = num4
}
Run Code Online (Sandbox Code Playgroud)


and*_*ras 7

如果/ if if,每个只能有一个.该else if (num2 < num3)部分已经else在它下面有两行声明.也许你错过了某个地方的if语句?