62,621
社区成员
发帖
与我相关
我的任务
分享import java.util.*;
public class test6{
public static void main(String [] args) {
int[] arr=intData(1,100,10);
System.out.println(Arrays.toString(arr));
}
/*产生一个长度为num的int数组,数组元素的值在start~end之间,元素不重复。
*
*/
public static int[] intData(int start,int end,int num){
int[] a=new int[num];
int i=0;
Random rand=new Random();
while(i<num){
int x=rand.nextInt(end-start+1)+start;
/*
*不知道你的意思,如果不是说数的每一位中不含零,把下一句注掉就可以了。
*/
if(hasZero(x)) continue;
boolean isRepeated=false;
for(int j=0;j<i;j++){
if(x==a[j]){
isRepeated=true;
break;
}
}
if(!isRepeated){
a[i++]=x;
}
}
return a;
}
/*
*判断x各位中是不是有零。
*/
public static boolean hasZero(int x){
boolean has=false;
int n;
while(x!=0){
n=x%10;
if(n==0){
has=true;
break;
}
x=x/10;
}
return has;
}
import java.util.HashSet;
public class TestRandom {
public static void main(String[] args) {
HashSet<Integer> hs=new HashSet<Integer>();
while(hs.size()<10){
int i=(int)(Math.random()*100);
hs.add(i);
}
System.out.println(hs);
}
}
public static int[] randoms()
{
Random r = new Random();
int temp1,temp2;
int send[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21};
int len = send.length;
int returnValue[] = new int[22];
for(int i=0;i<22;i++)
{
temp1 = Math.abs(r.nextInt())% len;
returnValue[i] = send[temp1];
temp2 = send[temp1];
send[temp1] = send[len-1];
send[len-1] = temp2;
len--;
}
return returnValue;
}
}