黑马程序员技术交流社区

标题: 什么情况下可以打印出输出语句,求各位大神帮帮忙。 [打印本页]

作者: LLLLL    时间: 2015-12-11 11:39
标题: 什么情况下可以打印出输出语句,求各位大神帮帮忙。
while(i != i) {
       System.out.println("输出");
}

作者: wangyoucao    时间: 2015-12-11 13:46
class Test{
        static int i=1;
        public void method(){
                int i=2;
         while(i!=this.i){
                        System.out.println("输出");
         }
}
如果这么改哈,勉强可以。。。
}
作者: 744919632    时间: 2015-12-11 13:48
这里的i都没有赋值,赋值之后再比较,就能得到你要的结果了。
作者: huaduwuzhe    时间: 2015-12-11 15:41
都是死循环吧,同一个变量比较肯定是true,即使像二楼设置成类变量那也是一个值吧,可以把i赋给另一个变量,再给循环变量定一个增量语句,如果想通过输入一个数来改变控制变量的话,可以用下面语句
public class InputTest
{
    public static void main(String[] args)
    {
        Scanner i = new Scanner(System.in);
        while(i.nextInt())
               {
                 i1=i;

作者: huaduwuzhe    时间: 2015-12-11 15:45
  if(i1!=i){
            System.out.println("输出");
            break;
               }
//忘记定义i1了,前边定义i1,int i1;
作者: zcbcba123    时间: 2015-12-11 17:48
只要是满足while括号里的条件就可以往里走然后打印语句呀~
你认为i不等于i会满足吗?

作者: a944090777    时间: 2015-12-11 18:08
wangyoucao 发表于 2015-12-11 13:46
class Test{
        static int i=1;
        public void method(){

这样改动太大了,不是原题了
作者: a944090777    时间: 2015-12-11 18:09
多线程可能吗
作者: 二十七杯酒    时间: 2015-12-11 20:43
亲,没有定义初始值
作者: 一个像秋天    时间: 2015-12-11 21:39
这不就是while(0)吗?.。。。
作者: wwwjpm@126.com    时间: 2015-12-12 00:01
while(i != i);{
        System.out.println("输出");
}
作者: hard    时间: 2015-12-12 12:09
i都没有定义啊
作者: hard    时间: 2015-12-12 12:10
i都没有定义啊
作者: 余铨    时间: 2015-12-12 12:53
i都没定义
作者: 唐洪超    时间: 2015-12-12 20:44
定义的呢,就是有while语句,没条件就像输出啦
作者: 衙门口,门朝南    时间: 2015-12-13 08:23
哥们,闹那,这就像你只写了一个公式,而不带数求职,那能输出来啥
作者: 提篮采薇    时间: 2015-12-14 00:12
初始值没有定义吧
作者: 周亚飞    时间: 2015-12-14 17:58
原题是什么 ?

int i = 0;
while (i != ++i) {
      System.out.println("输出");      //这个可以
}
-------------------------
int i = 0;
while (i != i++) {
      System.out.println("输出");      //这个不可以
}
作者: 周亚飞    时间: 2015-12-14 17:59
周亚飞 发表于 2015-12-14 17:58
原题是什么 ?

int i = 0;

可以给分吗
作者: Id_820    时间: 2015-12-14 21:53
应该不会输出的吧。不论i为什么值, i!=i都是false。
作者: kingjacob    时间: 2015-12-15 21:08
这个没有定义idea初值,而且while()是死循环哎
作者: 正阳门下    时间: 2015-12-15 22:57
这个我也不会,抱歉了
作者: 青菜市场    时间: 2015-12-17 17:09
亲测成功的源码!!!
public class T  extends Thread {
  static int i;public void run(){ while(true){i++; }  }
   main(主方法){ Thread t = new T ();t.start();while(true) {你的代码}}}j手机码字,大括号可能出错。跪求给分
作者: 青菜市场    时间: 2015-12-18 22:51
使用多线程,一线程让i变量不断赋值,另一线程不断判断i就会不等于i了
作者: yyt199108    时间: 2015-12-19 16:47
i!=i 不是false,怎么能进循环?
作者: 雨来    时间: 2015-12-24 20:19
while(条件表达)  条件表达为true时候  执行while 语句体的输出语句
作者: 子午鼬    时间: 2015-12-29 23:20
哎,看来你只有重写方法才行了,不然。你就可以搞一个while(false){执行语句了;}666
作者: cj286    时间: 2015-12-30 15:26
while(i != 'i') {
       System.out.println("输出");
}
作者: justinwww    时间: 2016-1-8 23:15
不完整啊
作者: 谁的苍茫    时间: 2016-1-21 23:40
没有给i定义初始化值,并且i!=i,就相当于我不等于我,一定是false,所以不会输出,如果要输出可以改为i1!=i,或者在方法外另外定义一个i,然后条件修改为i!=this.i
作者: 陈梦佳    时间: 2016-2-7 23:37
永远为while(false)
作者: ambitios0    时间: 2016-2-15 23:30
死 循 环
作者: Devilbaby    时间: 2016-2-19 21:58
如果两个  i  不是一个地方,比如换成while(i!=this.i){}, 同一个地方代表同一个变量,那的肯定不存在 i != i。最好发一下原题,这样才能得到更好的解释。
作者: wangyuxin    时间: 2016-3-11 16:17
while(0||1){}
作者: Ak-47    时间: 2016-3-29 01:38
int i = 1 ;
                while(i++ != i++) {
                        System.out.println("输出");
                }
一直输出从未停止
作者: linguoqun    时间: 2016-8-1 07:59
楼主你好!很高兴回答你的问题。
这里的i都没有赋值,所以,有两种情况它们是不相等的,不知道楼主有没有学过内存管理。
内存中分有很多块区域。当这两个i不是处于同一块内存区域的时候,那么它们两个是不会相同的。
还有一种情况是,它们的作用域不同的时候。如果第一个i是程序结束的时候才会被回收,第二个i是在某个函数结果的时候被销毁,那么,在函数外部比较时,他们也是不会相等的。
纯手打的,满意请采纳,谢谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2