class mythread1 extends Thread
{
int i=1,j=1;
    public void run()
{
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{

System.out.print(i+"X"+j+"="+i*j+"   ");
try{
sleep(1000);
}
catch(InterruptedException e){}
}
System.out.println();
}
}
}
public class mythread {
public static void main (String []args)
{
mythread1 my=new mythread1();
my.start();
}
}为什么,不是一个一个隔一秒输出,而是一行输出呢??

解决方案 »

  1.   

    但是System.out.print(i+"X"+j+"="+i*j+"   ") 这个肯定会一个个的输出的啊
      

  2.   

    用System.out.println
      

  3.   

    你是想让每秒输出一行?
    那sleep方法放到外层循环中。
      

  4.   

    编写MyThread类,在该类中实现九九乘法表的动态输出,每隔1s输出乘法表中的一个运算结果。(选作)题目是它。但是我运行后,不是每次出一个结果,而是一行一行的出
      

  5.   

    编写MyThread类,在该类中实现九九乘法表的动态输出,每隔1s输出乘法表中的一个运算结果。(选作)题目是它。但是我运行后,不是每次出一个结果,而是一行一行的出这是线程里的一道题,用了线程。怎么让它每次输出一个结果,而不是一行一行的输出。
      

  6.   

    你的意思是程序每秒输出乘法的结果,强调的是这个结果,而不是程序的那一行,对吧!
    那你就可以这样子做,你先把乘法得到的结果用一个变量来接收,然后只是输出运行的部分如:1*2=
    就输出这么多,记得不要换行;
    然后使用线程休眠一秒Thread(1000)然后再System.out.print(前面变量所存的那个结果);此时换行;
    这样子才能实现你所需要的效果,这句其实就是将你的程序与结果分开。而你现在的代码是:使用线程休眠一秒Thread(1000)就执行整句 System.out.print(i+"X"+j+"="+i*j+"   ");去了,连结果都一起输出出来了,所以 导致不能实现你所需的效果!
      

  7.   

    是的,我用jcreator运行成功了。以前用的editplus,的确是一行一行输出的。谢谢了。
      

  8.   

    谢谢了,问题解决了。editplus有点问题。
      

  9.   

    你的意思是程序每秒输出乘法的结果,强调的是这个结果,而不是程序的那一行,对吧!
    那你就可以这样子做,你先把乘法得到的结果用一个变量来接收,然后只是输出运行的部分如:1*2=
    就输出这么多,记得不要换行;
    然后使用线程休眠一秒Thread(1000)然后再System.out.print(前面变量所存的那个结果);此时换行;
    这样子才能实现你所需要的效果,这句其实就是将你的程序与结果分开。而你现在的代码是:使用线程休眠一秒Thread(1000)就执行整句 System.out.print(i+"X"+j+"="+i*j+"   ");去了,连结果都一起输出出来了,所以 导致不能实现你所需的效果!
      

  10.   

    int i=1,j=1;
            public void run()
            {
                for(i=1;i<10;i++)
                {
                    for(j=1;j<=i;j++)
                    {
                         
                        System.out.print(i+"X"+j+"="+i*j+"   ");
                        try{
                         sleep(1000);
                        }catch(InterruptedException e){}
                    }
                    System.out.println();
                }
            }
    改成
      int i=1,j=1;
            public void run()
            {
                for(i=1;i<10;i++)
                {
                    for(j=1;j<=i;j++)
                    {
                         
                        System.out.print(i+"X"+j+"="+i*j+"   ");
                    }
                    try{
                     sleep(1000);
                    }catch(InterruptedException e){}
                    System.out.println();
                }
            }睡眠的地方不对