必需的布尔值,找到int?

时间:2013-12-19 11:05:43

标签: java ternary-operator

我还在学习Java ....

我的任务是编写一个分为两个双打的程序,但在显示分割结果之前,必须说明它们是否可分开(没有休息)。我必须使用三元运算符。

代码:

public class exercise {

    public static void main(String[] args){
        double x = 8.4;
        double y = 4.2;
        double z = (int)(x % y);
        String result = (z>0) ? "not dividible" : "dividible";
        System.out.println("This operation is: " + result);
        System.out.println("The result of dividing is: " + (x/y));


    }



}

编译器说“String result =(z> 0)?.....”它需要布尔值,并且它找到了int。当然,编译失败了。

3 个答案:

答案 0 :(得分:6)

您错过了此声明的最后一个结束括号())。

System.out.println("The result of dividing is: " + (x/y);

应该是:

System.out.println("The result of dividing is: " + (x/y));
                                                        ↑

所有其他东西都为我编译。

答案 1 :(得分:2)

我的编译器说你没有最后一个括号):

System.out.println("The result of dividing is: " + (x/y);

试试这个:

System.out.println("The result of dividing is: " + (x/y));

它为我编译。

答案 2 :(得分:1)

问题来自语法错误,因为您忘记了最后一个system.out行的最后一个右括号()。

System.out.println("The result of dividing is: " + (x/y);

应该是:

System.out.println("The result of dividing is: " + (x/y));

如果你解决了这个问题,那就没问题了。