用else if语句无法理解java数学类(下面的代码)

Eni*_*ang 1 java math if-statement class

public class S1P3 {
    public static void main (String[] args) throws Exception{
        int num1 = (int)(Math.round(Math.random()*10));
        int num2 = (int)(Math.round(Math.random()*10));
        int sign = (int)(Math.round(Math.random()*3));
        int answer;
        System.out.println("\n\n*****");
        if(sign==0)
        {
            System.out.println(num1+" * "+num2);
            answer = num1*num2;
        }
        else if(sign==1)
        {
            System.out.println(num1+" / "+num2);
            answer = num1/num2;
        }
        else if(sign==1)
        {
            System.out.println(num1+" - "+num2);
            answer = num1-num2;
        }
        else
        {
            System.out.println(num1+" % "+num2);
            answer = num1%num2;
        }
        System.out.println("*****\n");
        System.out.println("3 ...");
        Thread.sleep(1000);
        System.out.println("2 ...");
        Thread.sleep(1000);
        System.out.println("1 ...");
        Thread.sleep(1000);

        System.out.println("ANSWER: "+answer);
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白两个"其他ifs"的符号如何等于2.该程序如何知道选择哪一个?因为2个选项等于1所以不意味着其中一个没有被使用?我使用的这本书有错字吗?我可以用一些澄清,谢谢!

Joã*_*lva 5

这绝对是一个错字,第三个条件(第二个sign==1)永远不会达到.它应该是if (sign == 2).