黑马程序员技术交流社区

标题: 怎样让他随机输出偶数? [打印本页]

作者: 黑马—杨磊    时间: 2013-5-26 17:06
标题: 怎样让他随机输出偶数?
public static void main(String[] args) {  
       List list1 = new ArrayList();   //保存50个随机数  
        List list2 = new ArrayList();   //保存其中为偶数的随机数  
  
      int ranNum ;  
                  
       //生成50个随机数,放入list1中,其中的偶数单独放到list2中  
       for(int i=0;i<50;i++)  
       {  
           ranNum = (int)(Math.random()*100);  
          //判断是否为偶数  
           if(ranNum%2==0)  
           {  
               list2.add(ranNum);  
            }  
           list1.add(ranNum);  
      }  
         
        //对偶数进行排序(升序)  
       Collections.sort(list2);         
       System.out.println(list1);  
       System.out.println(list2);  
         
      //把偶数降序输出  
        for(int i=list2.size();i>0;i--)  
       {  
            System.out.print(list2.get(i-1)+", ");  
        }  
       System.out.println();  
         
        //混淆所有的数据  
        Collections.shuffle(list1);  
       System.out.println(list1);  
  
   }  

作者: 江鹏    时间: 2013-5-26 19:31
你说的随机输出整偶数指的是啥
如果只是单纯的输出随机偶数的话那么直需要在输出随机数是加一段判断代码就是
如果你说的是输出你那list2的话可以看看下面这段代码。。。。
貌似你那段代码是java写的,我这没jre不好调试就c#化了。。。。。
  1. ArrayList list2 = new ArrayList();//创建一个数组
  2.             list2.Add(1);//添加元素
  3.             list2.Add(2);
  4.             list2.Add(3);
  5.             list2.Add(4);
  6.             list2.Add(5);
  7.             Random a = new Random();//创建随机数输出器
  8.             ArrayList tlist = list2;//创建一个副本
  9.             for (int i = tlist.Count; i > 0; i--)//遍历输出
  10.             {
  11.                 int tmp = a.Next(0, tlist.Count-1);//产生一个随机整数
  12.                 Console.WriteLine(tlist[tmp]);//列出当前随机数位置的数
  13.                 tlist.RemoveAt(tmp);//删除当前随机数位置的数
  14.             }
  15.             Console.ReadKey();
复制代码
思路就是产生一个随机数(这个随机数不会超过数组的长度-1)
然后输出当前随机数位置的数组里的数
最后重数组里删除这个数
重复循环到最后数组里无数字







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