日期:2014-05-20  浏览次数:20646 次

很有意思的一道题!!!!
i <=j&&j <=i&&i!=j
现在只需使上面的条件为true就行,i,j都没定义,你们自己来定义,大家一起研究下,有什么好的建议?

------解决方案--------------------
我来试试.

String i=new String( "aaa ");
String j=new String( "aaa ");


------解决方案--------------------
如果可以自动装箱拆箱
------解决方案--------------------
关注……
------解决方案--------------------
补充一下:
对于 " <= ", JVM先调用了Integer.intValue(),然后使用if_icomgt对int进行比较.
而对于 "!= ",则直接使用if_acomeq对reference进行比较
------解决方案--------------------
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer i=new Integer(1);
Integer j=new Integer(1);
System.out.println(i.hashCode());
System.out.println(j.hashCode());
System.out.println(i <=j);
System.out.println(j <=i);
System.out.println(i!=j);
System.out.print(i <= j && j <= i&& i != j);
}
结果是
1
1
true
true
true
true
------解决方案--------------------
学习中

支持(jingtao8177)
楼上的程序只有在jdk1.5 以上的版本才能实现(原因:在这版本以上才有自动装箱拆箱),这是jdk的新特征!
------解决方案--------------------
to 老六
那比较的是什么?内存地址?
------解决方案--------------------
新版本的.Integer可以直接 <> 比较值,但==,!=却用内存地址比较,实在觉得不妥.
还不如用老版本的处理.
------解决方案--------------------
学习
------解决方案--------------------
没办法讨论是非,学习了
------解决方案--------------------
用Integer 的那几个 你们运行了没有?
System.out.println(i <=j);
System.out.println(j <=i);
System.out.println(i!=j);
System.out.print(i <= j && j <= i&& i != j);
根本通不过
------解决方案--------------------
哇, 能回答出来的一定都是高手了!!佩服, 佩服.....
------解决方案--------------------
技术天天更新,有愿意共同讨论学习JAVA的朋友加 QQ群:29252269
------解决方案--------------------
MARK
------解决方案--------------------
System.out.println(i <=j); 比较的是他们的值,可以通过
System.out.println(j <=i);同上
System.out.println(i!=j);是作为对象把他们进行比较,比较的是内存地址,两个对象的地址是不一样的,可以通过
System.out.print(i <= j && j <= i&& i != j); SO :这个也可以通过!


OVER~

------解决方案--------------------
han ...............
------解决方案--------------------
开眼了
------解决方案--------------------
基础都那么难 完蛋了- -
------解决方案--------------------
补充一下 jdk 1.5 好像也通不过
这个题目从逻辑上讲不可能为真, 看来 就是考察对java操作符的理解程度了
------解决方案--------------------
经典收藏起来学习拉