三目运算符的问题

TheBigBangWOW 2016-04-01 11:00:19
有个题目,需要输出x和y之间的最大值,用三目运算符来实现

请问下面两种哪一种才是正确的?还是两种都可以?
区别是一个是>判断,一个是>=判断


(x>y)?x,y
(x>=y)?x,y

谢谢
...全文
123 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhiyouWu 2016-04-02
  • 打赏
  • 举报
回复
两者相同的;引用1楼的回答,你的符号确实 是错误的!第一种x>y,如果成立,则输出x,反之输出y;第二种,如果x>=y,输出x(这是x和y都是最大值,输出结果是相同的),反之,输出y;楼主可以仔细思考下这个问题,其实运算符这一问题,基本上在绝大部分的编程语言中都是通用的
wyl0706 2016-04-02
  • 打赏
  • 举报
回复
两种都可以,但你写错了,xy之间应该是:号不是,号。 既然你是要返回最大值,
(x>y)?x:y
是当x大时返回x,当x==y时返回y,但是x和y相等,所以返回值是一样的。 同理
(x>=y)?x:y
是当x大时返回x,当x==y时返回x,但是x和y相等,所以返回值还是一样的。
TheBigBangWOW 2016-04-02
  • 打赏
  • 举报
回复
噢,没注意看,确实是写错了,中间应该是冒号: 谢谢各位
qq_20062767 2016-04-02
  • 打赏
  • 举报
回复
正确做法: (x > y) ? x : y; (x >= y) ? x : y;
qq_29360403 2016-04-02
  • 打赏
  • 举报
回复
条件?表达式1 :表达式2 三目运算式实质返回的是一个true/false; true选择表达式1 后者相反

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧