生成一个没有重复数字的随机数(JAVA)

public class TestRandom {

public static void main(String[] args) {
//随机数
int[] random = new int[4];
for(int i = 0; i < random.length; i++){
random[i] = (int)(Math.random() * 10);
for(int j =0; j < i; j++){
if(random[j] == random[i]){
i--;
break;
}
}
}

for(int i = 0; i < random.length; i++){
System.out.print(random[i]);
}
分析:想要输入一个随机四位数字是没有太大难度,只需要每个random[i]=(int)(Math.random()*10);即可。然而这样生成的四位数字是有一定概率会生成重复数字的,代码中红色数字部分将random[i]与之前生成的数字所比较,如果有相等,i--,跳出循环,重新再生成一个random[i],如此往复。最终生成没有重复数字的随机四位数

时间: 2024-08-10 21:30:33

生成一个没有重复数字的随机数(JAVA)的相关文章

去掉有序数组中重复数字 原地 leetcode java (最简单的方法)

1.利用荷兰国旗的思路,每次记住最后一个位置,遇到一个不重复的数,放在它后面,代码很简单. Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with consta

C#生成一个符合正态分布(高斯分布)的随机数

//随机产生一个符合正态分布的数 u均数,d为方差 public static double Rand(double u, double d) { double u1, u2, z, x; //Random ram = new Random(); if (d <= 0) { return u; } u1 = (new Random(GetRandomSeed())).NextDouble(); u2 = (new Random(GetRandomSeed())).NextDouble(); z

mysql按顺序生成一个不重复的id

非字母和非0开头按顺序生成一个不重复的id select case when max(id) is null then '10000001' else max(id)+1 end as id from student; 字母开头按顺序生成一个不重复的id select case when max(id) is null then 'S10000001' else CONCAT('S',SUBSTRING(max(id),2)+1) end as id from student; 原文地址:htt

js选择颜色小游戏(随机生成不含重复数字的数组,通过数组中的数控制定义好的数组)

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>js网页版小游戏</title> <style media="screen"> .wrap { width: 577px; outline: 1px solid hotpink; margin: 100px auto; box-shadow: 0 0 5px; } .

原生js实现一个连连看小游戏(二)-----------生成随机不重复数字

直接贴代码: <!DOCTYPE html> <html> <head> <title>生成随机不重复数</title> </head> <body> <script type="text/javascript"> var arr=new Array(); for(var i=0;i<10;i++){ arr.push(i); } // console.log(arr) var get

生成一个不重复的订单号(php)

/** * 生成订单号 * * 用uniqid获取一个基于当前的微秒数生成的唯一不重复的字符串(但是他的前7位貌似很久才会发生变动,所以不用考虑可删除),取其第8到13位.但是这个字符串里面有英文字母,咋办? * 用ord获取他的ASCII码,所以就有了下一步:用str_split把这个字符串分割为数组,用array_map去操作(速度快点). * 然后返回的还是一个数组,KO,在用implode弄成字符串,但是字符长度不定,取前固定的几位,然后前面加上当前的年份和日期,这个方法生成的订单号,全

Python中生成一个没有重复元素的随机序列??

1 # 产生一个0-10的随机序列,元素不能重复 2 def randSeq(): 3 import random; 4 randSequence=random.sample(range(0,10),10); 5 return randSequence; 运行结果: 1 >>> randSequence 2 [0, 6, 4, 9, 3, 5, 1, 8, 2, 7] 3 >>>

生成32位字母数字的随机数

<?php function createNoncestr( $length = 32 ) { $chars ="abcdefghijklmnopqrstuvwxyz0123456789"; $str =""; for($i=0;$i<$length;$i++) { $str.= substr($chars, mt_rand(0, strlen($chars)-1), 1); } return $str; }

Python 产生特定范围内不重复多个随机数的两种方法

在近期进行的一个实验中,需要将数据按一定比例随机分割为两个部分.这一问题的核心其实就是产生不重复随机数的问题.首先想到的递归的方法,然后才发现Python中居然已经提供了此方法的函数,可以直接使用.具体代码如下: #生成某区间内不重复的N个随机数的方法 import random; #1.利用递归生成 resultList=[];#用于存放结果的List A=1; #最小随机数 B=10 #最大随机数 COUNT=10 #生成随机数的递归数学,参数counter表示当前准备要生成的第几个有效随机