黑马程序员技术交流社区

标题: 随机数给list赋值方式不同数值混乱问题。 [打印本页]

作者: lc0356    时间: 2016-12-1 10:49
标题: 随机数给list赋值方式不同数值混乱问题。
public static void main(String[] args) {
                ArrayList<Integer> list = new ArrayList<>();
                TreeSet<Integer> ts = new TreeSet<>();
                Random r = new Random();
               
                for (int i = 0; i < 5; i++){
                       
                        /**------------------1start-----------------------*/
                       
                        list.add(r.nextInt(10) + 1);
                        System.out.print(r.nextInt(10) + 1 +" ");
                       
                        /**------------------1end-----------------------*/
                       
                        /**------------------2start-----------------------*/
                        int a = r.nextInt(10) + 1;
                        list.add(a);
                        System.out.print(a + " ");
                       
                        /**------------------2end-----------------------*/
                }
               
                for (Integer i : list) {
                        ts.add(i);
                }
                list.clear();
                list.addAll(ts);
                System.out.println(list);

在1中,r.nextInt(10) + 1的值赋给list之后,和后面循环完了打印出来的list值不一样
在2中,r.nextInt(10) + 1先赋值给a,然后把a添加到list中,这样a的只就是后面打印出来的list的值。
这问题出在哪呢?


作者: 月下樱    时间: 2016-12-1 13:55
你第一个存的是随机数啊,当然会不一样

作者: lc0356    时间: 2016-12-1 15:51
月下樱 发表于 2016-12-1 13:55
你第一个存的是随机数啊,当然会不一样

第一次竟然没看出来,我还是太年轻了。。。。。唉,去修炼去。

作者: 月下樱    时间: 2016-12-1 18:02
lc0356 发表于 2016-12-1 15:51
第一次竟然没看出来,我还是太年轻了。。。。。唉,去修炼去。

加油咯





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