joyner_zhang 2019-11-27 01:52 采纳率: 100%
浏览 274
已采纳

关于Java ?和:三元运算符的疑问

您好!今天我在刷LeetCode的时候,有道题我想直接用三元表达式去写,看着简洁,但没想到,老是报错....我也不知道啥问题啊,最近感冒了,脑子很晕,总感觉哪里不对,但是就是看不出来,
图片说明

图片说明

我不知道哪里错了。谢谢指正!

  • 写回答

4条回答 默认 最新

  • 毕小宝 博客专家认证 2019-11-27 02:03
    关注

    三目表达式返回的时一个值,必须要把它赋给一个变量才行,而你的代码中是不同的处理动作,这是 if 的功能,不是三目表达式的。

    ans= height[left]>= maxLeft?a:b;
    

    而你想通过不同的值,走不同的赋值动作是行不通的。三目只会返回值,而不是执行一个动作。

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

报告相同问题?