java中的三目运算符

主函数代码:

        TotalArea tx=new TotalArea(30);
        for(int i=0;i<30;++i)
        {
            //不知道为啥不能写三目运算符    
            //i&1?tx.tx[i]=new yuan(i):tx.tx[i]=new juxing(i*1.0,i+0.5);
            if(i%2==0) tx.tx[i]=new yuan(i);
            else tx.tx[i]=new juxing(i*1.0,i+0.5); 
        }

img


如图,我将注释去掉后就会显示错误,但是同样的代码写成 if-else 语句就没问题,java中是支持三目运算符的吧?

支持三目运算,考虑下写得是否正确