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

© 何亚辉 中级黑马   /  2016-5-15 15:05  /  704 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


class Play {
        public static void main(String[] args){
                Window w = new Window();
                new Thread(w,"线程1").start();
                new Thread(w,"线程2").start();
        }
}

class Window implements Runnable {
                int[] a =new int[6];int i=0;
                public void run(){
                while (i<6) {                       
                        Thread t = Thread.currentThread();
                        a[i]=(int)(100*Math.random())+1;
                        System.out.println(t.getName() +"往数组里存入了"+ a[i] );
                        i++;
                        try {
                                t.sleep(1000);
                        }
                        catch (InterruptedException e) {
                                e.getStackTrace();
                        }               
                }
for (int i =0;i<=5 ;i++ ) {
         System.out.print(a[i]+"  ");
}

                }
}

为什么输出的时候会有6个0?
而且随机产生的前两个数,,总是一样的


3 个回复

倒序浏览
都看到线程了还用 a[i]=(int)(100*Math.random())+1???????????
不加锁............
这帖水得可以.........
回复 使用道具 举报
赞  牛人!!!!!!!!
回复 使用道具 举报
表示刚看到String类  还迷迷糊糊的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马