weixin_43939111 2023-06-21 10:35 采纳率: 25%
浏览 23
已结题

为什么三目运算符报错无法运行

为什么三目运算符报错无法运行?

for(int n=0;n<3;n++){
    ((n==0)&&(n==2))?(str+="*"):(str+=" ");
}

检查过标题中英文,也加了括号限制,还是编译不通过,报错如下:

img

  • 写回答

2条回答 默认 最新

  • 於黾 2023-06-21 10:39
    关注

    改成这样

      str+=(n==0||n==2)?"*":" ";
    

    你这代码有2个问题
    1.语法错误,三目运算符只能返回值,不能在里面写赋值
    java不支持赋值表达式,在java里,赋值就是赋值,它并不同时返回值,也就是说赋值语句是没有返回值的,不可以被当做表达式
    同理,你写if(n=1)也会报错
    2.n不可能同时等于0并且等于2,要把与改成或

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月21日
  • 创建了问题 6月21日

悬赏问题

  • ¥15 网络分析设施点无法识别
  • ¥15 状态图的并发态问题咨询
  • ¥15 PFC3D,plot
  • ¥15 VAE模型编程报错无法解决
  • ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
  • ¥15 物体组批优化问题-数学建模求解答
  • ¥15 微信原生小程序tabBar编译报错
  • ¥350 麦克风声源定位坐标不准
  • ¥15 apifox与swagger使用
  • ¥15 egg异步请求返回404的问题