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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡晓思 中级黑马   /  2013-6-3 09:25  /  1868 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 胡晓思 于 2013-6-3 19:58 编辑

请提供一个对i,j的声明,将下面的循环转变为一个无限循环
  1. while( i<=j && j<=i && i!=j ){
  2. }
复制代码
看上去就像要i又等于j  又不等于j一样  怎么解决啊??

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

12 个回复

倒序浏览
i<=j && j<=i && i!=j  这个条件就不满足啊,程序是不会执行while里面的代码的。。
楼主说的无限循环就是 死循环了吧
如果要执行无限循环
可以直接把代码改为:
while(true){
    //死循环的内容
}

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
搞不懂 i<=j && j<=i && i!=j 这条件怎么也满足不了啊
回复 使用道具 举报
这个不可能吧
应该是这样的吧
while(i<=j||j<=||i!=j){}
回复 使用道具 举报
i<=j && j<=i && i!=j  这个条件就不满足啊,程序是不会执行while里面的代码的。。
楼主说的无限循环就是 死循环了吧
如果要执行无限循环
可以直接把代码改为:
  1. while(true){
  2. //死循环的内容
  3. }
复制代码
回复 使用道具 举报

题目的意思应该是要对i,j赋初值  使得while里的表达式为true  而不是直接改
回复 使用道具 举报
曹世明 发表于 2013-6-3 09:36
这个不可能吧
应该是这样的吧
while(i

试下这段代码怎么样? 是不是无限循环啊??
  1. public class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Integer i = new Integer(0);
  6.                 Integer j = new Integer(0);
  7.                 while( i<=j && j<=i && i!=j ){
  8.                         System.out.print("hello ");
  9.         }
  10.         }
  11. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
既然条件始终为假,加个否定不就是true了吗?
  1. while(! ( i<=j && j<=i && i!=j )){
  2. }
复制代码
回复 使用道具 举报
本帖最后由 萧萧北 于 2013-6-3 09:59 编辑
胡晓思 发表于 2013-6-3 09:37
题目的意思应该是要对i,j赋初值  使得while里的表达式为true  而不是直接改


既然要对i,j赋值的话,楼主之前的条件为false
那可以这样啊 i<=j||j<=i||i!=j
这样就无论怎样都满足条件
就可以无限循环了吗
回复 使用道具 举报
萧萧北 发表于 2013-6-3 09:58
既然要对i,j赋值的话,楼主之前的条件为false
那可以这样啊 i

你这是修改题目了   题目给的表达式 就&&连的 修改表达式那就没意义了  
是要对i,j声明  然后下式得以成立
i<=j && j<=i && i!=j  =true
回复 使用道具 举报
胡晓思 发表于 2013-6-3 10:08
你这是修改题目了   题目给的表达式 就&&连的 修改表达式那就没意义了  
是要对i,j声明  然后下式得以成 ...
  1. //楼主这题很有深度,是我没看仔细了,抱歉。。。
  2.                 Integer i=new Integer(0);  //定义i,j为引用类型
  3.                 Integer j=new Integer(0);
  4.                 while( i<=j && j<=i && i!=j )
  5.                 {
  6.                         System.out.println("YES");
  7.                 }
复制代码
回复 使用道具 举报 1 0
楼主 已然是被你们给气傻了
回复 使用道具 举报
i <= j  和 j <= i
调用的是hashCode()方法
所以是true 后面就不知道为什么是true了 求大神解答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马