import java.io.IOException;
 class TreadDemo
{
public static void main(String[] args) throws IOException
{
Incrementer incrementer = new Incrementer();
incrementer.start();
System.out.println("Repeatedly pressEnter to get the current value of i:");
for(int i=1;;) {
System.in.read();  //为什么i=3,以后就退出呢?退出的条件是什么??
System.out.println("i="+i++);
System.out.println(incrementer.getI());
}
    }
}
class Incrementer extends Thread
{
private int i;
public void run()
{
for(;;)
{
i++;
yield();
}
}
public int getI()
{
return i;
}
}

解决方案 »

  1.   


    for(int i=1;;)    {
                System.in.read();  //为什么i=3,以后就退出呢?退出的条件是什么??
                System.out.println("i="+i++);
                System.out.println(incrementer.getI());
            }
    这个循环似乎没退出条件,我敲到60了也没退出贴出到10的结果:
    i=1
    4802573
    i=2
    4802573i=3
    6983638
    i=4
    6983638i=5
    9052787
    i=6
    9052787i=7
    10128708
    i=8
    10128708i=9
    10941806
    i=10
    10941806
      

  2.   

    我用eclipse和Jcreator都只显示了三次,楼上用什么编译器的
      

  3.   

    我是用的jcreator啊,可以输出无数次
      

  4.   

    都是用jdk开发的跟ide有什么关系
      

  5.   

    ThreadDemo 和Increamenter 是两个独立的线程.