• 《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。


    import java.util.ArrayList;
    import java.util.Random;
    
    /*
     * 获取10个【1-20之间】的随机数,要求不能重复。(注意:不是获取10个数,如果单纯获取十个数可能有重复的,这里是获取10个不重复的数。
     * 所以统计变量要在判断不重复后增加。)
     * 
     * 用数组实现,但是数组的长度是固定的,长度不好确定。
     * 所以我们使用集合实现。
     * 
     * 分析:
     * 		A:创建产生随机数的对象
     * 		B:创建一个存储随机数的集合。
     * 		C:定义一个统计变量。从0开始。
     * 		D:判断统计遍历是否小于10
     * 			是:先产生一个随机数,判断该随机数在集合中是否存在。
     * 					如果不存在:就添加,统计变量++。
     * 					如果存在:就不搭理它。
     * 			否:不搭理它
     * 		E:遍历集合
     */
    public class RandomDemo {
    	public static void main(String[] args) {
    		// 创建产生随机数的对象
    		Random r = new Random();
    
    		// 创建一个存储随机数的集合。
    		ArrayList<Integer> array = new ArrayList<Integer>();
    
    		// 定义一个统计变量。从0开始。
    		int count = 0;
    
    		// 判断统计遍历是否小于10
    		while (count < 10) {
    			//先产生一个随机数
    			int number = r.nextInt(20) +1 ;//Random类下面的方法:public int nextInt(int n);下一个伪随机数,在此随机数生成器序列中 0(包括)和 n(不包括)之间均匀分布的 int 值。 
    
    			
    			//判断该随机数在集合中是否存在。
    			if(!array.contains(number)){//ArrayList类的方法public boolean contains(Object o)如果此列表包含特定的元素,则返回 true
    				//如果不存在:就添加,统计变量++。
    				array.add(number);
    				count++;
    			}
    			/*这里获取的存在重复值
    			 * array.add(number);
    			count++;
    			*/
    		}
    		
    		//遍历集合
    		for(Integer i : array){
    			System.out.println(i);
    		}
    	}
    }
    

  • 相关阅读:
    lambda表达式
    Shiro身份认证---转
    反转数组
    HashMap去重
    开发工具软件下载地址
    setInterval的使用和停用
    手机端的META
    spring自定义参数绑定(日期格式转换)
    mybatis注解动态sql
    SpringMVC文件上传
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299726.html
Copyright © 2020-2023  润新知