黑马程序员技术交流社区
标题:
一个判断的小问题
[打印本页]
作者:
李贺晓
时间:
2012-10-28 18:37
标题:
一个判断的小问题
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;这一句是起到什么作用的
作者:
李靖
时间:
2012-10-28 18:49
min=(max=a)?b:a;这句话应该是min=(max==a)?b:a;因为? :是三元运算符,所以?号前必须是boolean型,这样是说如果大值是a,那小的就是b 了,就是取小值的意思
作者:
马良
时间:
2012-10-28 18:57
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;
作者:
王永彬
时间:
2012-10-28 19:01
我刚才用你上面的代码试了一下,我想最后这两句应该是起到一个互换a,b内容的作用,最后得出的结果应是a的长度大,b的长度小。
另外最后一句似乎应该是min=(max==a)?a:b;
不知是否可以帮到你!
作者:
王永彬
时间:
2012-10-28 19:04
哦。最后一句应该是min=(max==a)?b:a;
抱歉,不好意思!
我想两句应该放在一起用,才能起到那种效果!
作者:
种生祥
时间:
2012-10-28 19:10
最后一句用错了
应该是
min=(max==a)?b:a;//
括号里要是==,>,<,!=。。。这样的字符
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2