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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

要求存储双色球用ArrayList集合完成,
随机摇出双色球可使用Random类nextInt()方法、ArrayList集合remove()方法完成

3 个回复

倒序浏览
  1. import java.util.ArrayList;
  2. import java.util.List;

  3. @SuppressWarnings({ "rawtypes", "unchecked" })
  4. public class test {

  5.         public static void main(String[] args) {

  6.                 List lit = new ArrayList();
  7.                 int count = 0;
  8.                 while (true) {
  9.                         int temp = (int) (Math.random() * 33 + 1);
  10.                         if (!lit.toString().contains(String.valueOf(temp))) {
  11.                                 count++;
  12.                                 lit.add(temp);
  13.                         }
  14.                         if (count != 7) {
  15.                                 continue;
  16.                         } else {
  17.                                 break;
  18.                         }
  19.                 }

  20.                 for (int i = 0; i < 7; i++) {
  21.                         System.out.print(lit.get(i) + " ");
  22.                 }

  23.         }
  24. }
复制代码


这样可以实现方式的一种,
回复 使用道具 举报


这样改也可以,题主根据需要可以稍微完善一下
回复 使用道具 举报
import java.util.ArrayList;

public class Random_1 {
        public static void main(String[] args) {
                ArrayList<Integer> array = new ArrayList<Integer>();//首先创建一个集合
                while (true) { //无限循环
                        // int ran_1=new Random().nextInt(32)+1;
                        int ran = (int) (Math.random() * 32) + 1;//用函数表达式比较简洁;
                        array.add(ran); // 先将元素存储到集合中
                        // System.out.println(ran);
                        for (int j = 0; j < array.size() - 1; j++) { // 通过for来进行遍历,使得重复的随机数去掉,循环到新添加的元素之前
                                if (ran == array.get(j)) {// 集合中随机数与该数前面元素是否存在相同
                                        array.remove(array.size() - 1);
                                        break;
                                }
                                //System.out.println(ran);
                        }
                        if (array.size() == 7) {
                                break;
                        }
                }
                System.out.println("中奖号码位:");
                for (int i = 0; i < array.size(); i++) {
                        System.out.print(array.get(i) + "\t");
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马