获取10个1-20之间的随机数,要求不能重复

package cn;

import java.util.ArrayList;
import java.util.Random;

/**
 * 获取10个1-20之间的随机数,要求不能重复
 * 
 * 用数组实现,但是数组的长度是固定的,长度不好确定。
 * 所以我们使用集合实现。
 * 
 * 分析:
 * 		1.创建产生随机数的对象
 *      2.创建一个存储随机数的集合
 *      3.定义统计变量,从0开始,是否小于10
 *      	是 :	先产生一个随机数,判断该随机数在集合中是否存在。
 *      		如果不存在,就添加,统计变量++。存在,就不搭理。
 *      	否:退出循环
 *      4.遍历集合
 */
public class RandomDemo {
	public static void main(String[] args) {
		//1.创建产生随机数的对象
		Random r = new Random();

		//创建一个存储随机数的集合
		ArrayList<Integer> list = new ArrayList<Integer>();

		//定义统计变量,从0开始
		int  count = 0;

		//统计变量是否小于10
		while(count < 10){
			int number = r.nextInt(20) + 1;
			if(!list.contains(number)){
				list.add(number);
				count ++;
			}

		}

		//遍历集合
		for(int i :list){
			System.out.println(i);
		}

	}

}
时间: 2024-10-20 11:38:29

获取10个1-20之间的随机数,要求不能重复的相关文章

Java基础知识强化之集合框架笔记35:List练习之产生10个1~20之间的随机数(要求:随机数不能重复)

1. 需求:获取10个1-20之间的随机数,要求不能重复 用数组实现,但是数组的长度是固定的,长度不好确定.所以我们使用集合实现. 分析: • 创建产生随机数的对象 • 创建一个存储随机数的集合. • 定义一个统计变量.从0开始. • 判断统计遍历是否小于10 是:先产生一个随机数,判断该随机数在集合中是否存在. 如果不存在:就添加,统计变量++. 如果存在:就不搭理它.   否:不搭理它      • 遍历集合 2. 代码实现: 1 package cn.itcast_02; 2 3 impo

【ArrayList:获取 10 个 1-20 之间的随机数,要求不能重复】

package com.companyname.common.test; import java.util.ArrayList; import java.util.Random; /** * @Description 获取 10 个 1-20 之间的随机数,要求不能重复 * @Author Created by shusheng. * @Email [email protected] * @Date 2018/12/14 */ public class RandomDemo { public s

《java入门第一季》之HashSet小案例:获取10个1至20的随机数,要求随机数不能重复

这是基于HashSet集合的唯一性. /* * 编写一个程序,获取10个1至20的随机数,要求随机数不能重复. * * 分析: * A:创建随机数对象 * B:创建一个HashSet集合 * C:判断集合的长度是不是小于10 * 是:就创建一个随机数添加 * 否:不搭理它 * D:遍历HashSet集合 */ 代码写了出来: import java.util.HashSet; import java.util.Random; public class HashSetDemo { public s

【HashSet:获取10个1至20的随机数,要求随机数不能重复】

package com.yjf.esupplier.common.test; import java.util.HashSet; import java.util.Random; /** * @author shusheng * @description 获取10个1至20的随机数,要求随机数不能重复 * @Email [email protected] * @date 2018/12/17 15:33 */ public class HashSetDemo { public static vo

使系统生成50个0-9之间的随机数

使系统生成50个0-9之间的随机数,将每个数字出现的次数存入一个一维数组中,统计出现次数最多和出现次数最少的数字,及出现次数和出现频率. import java.util.Scanner; public class Anpa1010doubleball { public static void main(String[] args) { int [] b=new int [50];  //定义长度为50的数组b int [] number=new int[10];  //定义长度为10的数组nu

4.设计一个程序,计算1~20之间所有能被3整除的数之和。

TITLE:设计一个程序,计算1~20之间所有能被3整除的数之和. ANSWER1: 1 #include <stdio.h> 2 3 int main(){ 4 int i,ans=0; 5 for(i=1;i<=20;i++){ 6 ans+=i%3?0:i; 7 } 8 printf("%d\n",ans); 9 return 0; 10 } ANSWER2: 1 #include <stdio.h> 2 3 int main(){ 4 int i,

如何计算任意值之间的随机数呢

大家知道怎么计算1到10之间的随机数吗,下面听我道来, 首先:Math.random()这个方法就是计算随机数的返回大于等于0小于1的随机数, Math.random()*10岂不是返回大于等于0返回小于10吗,但是他只能返回小于10的数,不能返回10,怎么办呢,我们在原来的函数上再加1就变成了Math.random()*10+1;此时就可以返回1到10的随机数了,但是我们返回的很多是小数,不符合要求,下面就用到了Math.floor()这个函数了,这个函数执行向下舍入,也就是说10.99经过M

如何返回固定之间的随机数?

在Java编程会经常用到固定之间的随机数,对于初学者往往对这个固定的随机数感到非常头痛,那有没有什么公式可以轻松达到目的呢? 当然有,公式如下: Math.random()*(n-m)+m 如:要求25至45之间的随机数,Math.random()*(45-25)+25,即Math.random()*20+25,注意强制转换类型int num=(int)(Math.random()*(20))+25 使用Random一样的使用!

golang取两个数字之间的随机数

//取两个数字之间的随机数int64 func RandInt64(min, max int64) int64 { if min > max { return max } return rand.New(rand.NewSource(min)).Int63n(max) }