1. java 获取一个四位随机数(并且四位数不重复),并说明原理和算法
import java.util.*;
public class Get4Number {
public static void main(String[] args) {
System.out.println(getNumber());
}
/** 得到一个0-9的随机数 */
private static int getRandomNumber() {
return (int) ((Math.random() * 100) % 10);
}
/** 得到一个四位无重复数字的数 */
private static int getNumber() {
Set<Integer> set = new HashSet<Integer>();
while (true) {
int a = getRandomNumber();
set.add(new Integer(a));//Set里面的元素是不重复的,如果重复是存不进去的。
if(set.size()>3)
break;
}
int index = (int) ((Math.random() * 100) % 4);
if(index==0){index+=1;}
Integer[] arr = new Integer[set.size()];
set.toArray(arr);
String s = "";
if(arr[0].intValue()==0){//如果第一位是0,则随机和后面三位交换
Integer temp = arr[0];
arr[0] = arr[index];
arr[index] = temp;
}
for(int i=0;i<arr.length;i++){
s += arr[i].intValue();
}
return Integer.parseInt(s);
}
}
2. java编码中怎样产生四位随机数
用这个代码:
java.util.Randomrandom=newjava.util.Random();
inta=random.nextInt(9000)+1000;//生成从0-指定数(不包括指定数)的整数
从1000-9999;可以看成从0+1000——8999+1000