为什么三目运算符报错无法运行?
for(int n=0;n<3;n++){
((n==0)&&(n==2))?(str+="*"):(str+=" ");
}
检查过标题中英文,也加了括号限制,还是编译不通过,报错如下:
为什么三目运算符报错无法运行?
for(int n=0;n<3;n++){
((n==0)&&(n==2))?(str+="*"):(str+=" ");
}
检查过标题中英文,也加了括号限制,还是编译不通过,报错如下:
改成这样
str+=(n==0||n==2)?"*":" ";
你这代码有2个问题
1.语法错误,三目运算符只能返回值,不能在里面写赋值
java不支持赋值表达式,在java里,赋值就是赋值,它并不同时返回值,也就是说赋值语句是没有返回值的,不可以被当做表达式
同理,你写if(n=1)也会报错
2.n不可能同时等于0并且等于2,要把与改成或