//随机数生成函数带参数n
public static String ranDom(int n)
{
Random num=new Random();
String strnum="";
for(int i=0;i<n;i++)
{
String outnum="";
switch(num.nextInt(3))//随机生成数在switch里面再随机生成数字字母
{
case 0:outnum=outnum+num.nextInt(10);break;
case 1:outnum=outnum+(char)(Math.random()*26+'A');break;
case 2:outnum=outnum+(char)(Math.random()*26+'a');break;
}
strnum=strnum+outnum;
}
return strnum;
}
在随机产生一个范围是数字,小写字母,还是大写字母
public static String shujiOne(){
Random num=new Random();
String outnum="";
while(outnum.length()<4){
int A=num.nextInt(10);
String S=""+A;
while(outnum.contains(S)){
A=num.nextInt(10);//包含这个数时则重新产生一个随机数
S=""+A;
}
outnum=outnum+A;
}
return outnum;
}
在随机产生一个0-9数字,不重复
public static String shujiTwo(){
Random num=new Random();
boolean fla=true;//重复为true
int[] s1=new int[4];
while(fla){
for(int i=0;i<4;i++){
s1[i]=num.nextInt(10);
}
for(int i=0;i<4;i++){
int temp=s1[i];
int count=0;
for(int j=0;j<4;j++){
int temp2=s1[j];
if(temp==temp2){
count++;
}
}
if(count>=2)//自身比较了一次
fla=true;
else
fla=false;
}
}
return String.format("%d%d%d%d",s1[0],s1[1],s1[2],s1[3]);
}
下面是利用集合的不能重复性实现,hashSet实现,好像也能用treeSet-------查查帮助文档吧,不懂的
import java.util.*;
public class home06101 {
public static void main(String[] args){
Random ra=new Random();
HashSet<Integer> num=new HashSet<Integer>();
while(num.size()<4){//竟然set重复的加不进去,小于四即可
num.add(ra.nextInt(10));
}
//System.out.print(num);
Iterator<Integer> it=num.iterator(); //迭代输出
while (it.hasNext()) {
System.out.print(it.next());
}
}
}