A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李贺晓 中级黑马   /  2012-10-28 18:37  /  1444 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String a;
String b;
String max;
String min;
max=(a.length()>b.length())?a:b;
min=(max=a)?b:a;
其中max=(a.length()>b.length())?a:b这句话是不是说当a.length()>b.length()的话,max就等于a,否则max就等于b啊?
但是min=(max=a)?b:a;这一句是起到什么作用的

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

5 个回复

倒序浏览
min=(max=a)?b:a;这句话应该是min=(max==a)?b:a;因为?  :是三元运算符,所以?号前必须是boolean型,这样是说如果大值是a,那小的就是b 了,就是取小值的意思
回复 使用道具 举报
min=(max=a)?b:a; 你的这句代码中的max=a应该不对吧,三元运算符?:的第一个元应该是一个比较语句max==a,返回的是boolean型的值。

你的代码的意思是比较两个字符串的长度,可以稍微简化一下
String a;
String b;
String max=(a.length()>b.length())?a:b;
String min=(max==a)?b:a;

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

回复 使用道具 举报
我刚才用你上面的代码试了一下,我想最后这两句应该是起到一个互换a,b内容的作用,最后得出的结果应是a的长度大,b的长度小。
另外最后一句似乎应该是min=(max==a)?a:b;
不知是否可以帮到你!
回复 使用道具 举报
哦。最后一句应该是min=(max==a)?b:a;
抱歉,不好意思!
我想两句应该放在一起用,才能起到那种效果!
回复 使用道具 举报
最后一句用错了
应该是
min=(max==a)?b:a;//括号里要是==,>,<,!=。。。这样的字符
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马