Java如何实现随机数?

2024-11-22 08:46:46
推荐回答(5个)
回答1:

  可以使用Random类产生随机数,利用HashSet集合类过滤掉重复值,因为HashSet具有不重复性,重复的值,添加不成功,这样保证了集合里的数是唯一的。

以下代码供你参考一下:

package com.dusd;

import java.util.*;

public class RandomDemo {
public static void main(String[] args) {
//HashSet类具有唯一性
Set distinctNumbers = new HashSet();
Random rand = new Random();
//通过循环产生6个不重复的100以内的整数
for (int i = 0; i < 6; i++)
if (distinctNumbers.add(new Integer(rand.nextInt(100))));
System.out.println(distinctNumbers);
}
}

回答2:

第一种 int i=new Random().nextInt(100);得到0到99的随机数,如果要6个数的话,你循环一下;

回答3:

用Set可以不允许有重复元素。如:

//产生6个不重复的100以内的整数
import java.util.*;

public class DistinctNumbers {
public static void main(String[] args) {
Set distinctNumbers = new HashSet();
Random rand = new Random();
for(int i = 0; i < 6;)
if(distinctNumbers.add(new Integer(rand.nextInt(100)))) i++;
System.out.println(distinctNumbers);
}
}

回答4:

//包含大小写字母和数字的随机数每执行一次生成8位 我执行4次 生成的是32位的随机数 比你买彩票中的几率还低 哈哈package tool;import java.util.Random;/**
*
* @author Qianht
*
*/
public class RandMath { //产生一个随机数
public static String getRandom()
{
Random r=new Random();
int i=0;
String str="";
String s=null;
while(i<8)
{
switch(r.nextInt(62))
{
case(0):s="0";break;
case(1):s="1";break;
case(2):s="2";break;
case(3):s="3";break;
case(4):s="4";break;
case(5):s="5";break;
case(6):s="6";break;
case(7):s="7";break;
case(8):s="8";break;
case(9):s="9";break;
case(10):s="a";break;
case(11):s="b";break;
case(12):s="c";break;
case(13):s="d";break;
case(14):s="e";break;
case(15):s="f";break;
case(16):s="g";break;
case(17):s="h";break;
case(18):s="i";break;
case(19):s="j";break;
case(20):s="k";break;
case(21):s="m";break;
case(23):s="n";break;
case(24):s="o";break;
case(25):s="p";break;
case(26):s="q";break;
case(27):s="r";break;
case(28):s="s";break;
case(29):s="t";break;
case(30):s="u";break;
case(31):s="v";break;
case(32):s="w";break;
case(33):s="l";break;
case(34):s="x";break;
case(35):s="y";break;
case(36):s="z";break;
case(37):s="A";break;
case(38):s="B";break;
case(39):s="C";break;
case(40):s="D";break;
case(41):s="E";break;
case(42):s="F";break;
case(43):s="G";break;
case(44):s="H";break;
case(45):s="I";break;
case(46):s="L";break;
case(47):s="J";break;
case(48):s="K";break;
case(49):s="M";break;
case(50):s="N";break;
case(51):s="O";break;
case(52):s="P";break;
case(53):s="Q";break;
case(54):s="R";break;
case(55):s="S";break;
case(56):s="T";break;
case(57):s="U";break;
case(58):s="V";break;
case(59):s="W";break;
case(60):s="X";break;
case(61):s="Y";break;
case(62):s="Z";break;
}
i++;
str+=s;
}
return str;
}
public static String getRADNumber()
{
String RandNumber= getRandom()+"-"+getRandom()+"-"+getRandom()+"-"+getRandom();
//System.out.println(RandNumber);
return RandNumber;

}
/*public static void main(String[] args) {
getRADNumber();
}*/
}

回答5:

Double a=Math.Random()*N;这样产生0~N-1之间的随机数