随机产生一个整数


Random类

1.大家都是知道的在java里工具类中本来就有一个可以随机产生一个随机数的类 Random类。

但是众所周知的,这个类所产生一个随机数是不排除不重复的部分,那么今天我们就来实现一个随机产生一个不重复的整数。

2.数组的下标是不能重复的,当我们想要随机的取数组中的元素的时候,数组的元素不重复,也就是我们可以随机的去取数组中元素的下标。java提供的这个工具可能就不那么实用了。

3.那么就来实现这个方法:

package cn.ygr.java1606Random_10_19;

import java.util.Random;

/**
 * 生成一个不重复的随机数
 * @author ygr
 *
 */
public class RandomUtil {
	public static Random random = new Random();

	public static int[] getRandomIndex(int number) {
		int[] indexs = new int[number];
		int n = 0;
		while (n < number) {
			indexs[n] = random.nextInt(number);

			/*
			 * 排除重复生成随机数
			 */
			if (n >= 1) {
				int i = 0;
				while (i < n) {
					if (indexs[i] == indexs[n]) {
						break;
					} else {
						i++;
					}
				}

				if (i == n) {
					n++;
				}
			} else {
				n++;
			}

		}
		return indexs;
	}
}

下面是测试类

package cn.ygr.java1606Random_10_19;
/**
 * 
 * @author ygr
 *
 */
public class RandomTest {
	public static void main(String[] args) {
		//String[] names = {"张三","李四","王二","麻子","小明","小红","丽丽","小花","小黑","旺财"};
		String[] names =new String[20];//定义一个20个人的数组 ,随机的去访问他们的数组下标0-19
		int[] randoms = RandomUtil.getRandomIndex(20);//调用方法,传入需要产生的随机数的个数即可
		
		for(int i : randoms){
			System.out.println("生成一个随机下标为:"+i);
		}
	}
}

运行结果如图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值