import java.util.Random;public class Nums { private int n = 10; private boolean[] used = new boolean[n]; private Random rand = new Random();
public int[] randNums() { int[] result = new int[n]; o: for (int i = 0; i < n; ) while (true) { int p = rand.nextInt(n); if (!used[p]) { result[i] = p; used[p] = true; i++; continue o; } } return result; } public static void main(String[] args) { int[] nums = new Nums().randNums(); for (int i = 0; i < nums.length; i++) { System.out.println(nums[i]); } }
class L { public L(int k,int n) { int[] numbers = new int[n]; for (int i = 0; i < numbers.length; i++) numbers[i] = i + 1; int[] result = new int[k]; for (int i = 0; i < result.length; i++) { int r = (int) (Math.random() * n); result[i] = numbers[r]; numbers[r] = numbers[n - 1]; n--; } Arrays.sort(result); for (int i=0;i<k;i++) System.out.print(result[i]+" "); } }
import java.util.Random;public class Test { private static Random random = new Random(); private static int intRand() { return Math.abs(random.nextInt()) % 10 + 1; } private static void print(int[] arrays) { for (int i : arrays) { System.out.print(i + " "); } } private static boolean isInArray(int[] arrays, int value) { boolean result = false; for (int i = 0; i < arrays.length; i++) { if (arrays[i] == value) return true; } return result; } public static void main(String[] args) { int value; int[] arrays = new int[10]; for (int i = 0; i < arrays.length; i++) { do { value = intRand(); } while (isInArray(arrays, value)); arrays[i] = value; } print(arrays); } }
import java.util.*;
import java.io.*;
public class RandomNumbers {
Random r=new Random(); public void RandomNumbers (){
}
public int randomNumber (int low,int high)
{
int temp=-1;
if (low<=high)
{
temp=low+r.nextInt(high);
return temp;
}
return temp;
}
}调用:int int_data[]=new int[16];
for (int i=0;i<int_data.length;i++)
{
int_data[i]=i;
}
RandomNumbers randomNuber=new RandomNumbers();int temp=0;
for (int j=0;j<int_data.length;j++)
{
int order=randomNumber.randomNumber(0,15);
temp=int_data[j];
int_data[j]=int_data[order];
int_data[order]=temp;
}
没有写成完整的程序调试,反正看懂了就行
private boolean[] used = new boolean[n];
private Random rand = new Random();
public int[] randNums() {
int[] result = new int[n];
o: for (int i = 0; i < n; )
while (true) {
int p = rand.nextInt(n);
if (!used[p]) {
result[i] = p;
used[p] = true;
i++;
continue o;
}
}
return result;
} public static void main(String[] args) {
int[] nums = new Nums().randNums();
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
}
}
如果你只是要打乱一个序列的话,直接用Collections.shuffle()更好一些。
String pwd="";
for(int j=0;j<8;j++){
number = random.nextInt(15);
= pwd.concat(new Integer(number).toString());
}
这句话就可以产生一个1-15之间的随机数
这个是最方便的了
{
public L(int k,int n)
{
int[] numbers = new int[n];
for (int i = 0; i < numbers.length; i++)
numbers[i] = i + 1;
int[] result = new int[k];
for (int i = 0; i < result.length; i++)
{
int r = (int) (Math.random() * n);
result[i] = numbers[r];
numbers[r] = numbers[n - 1];
n--;
}
Arrays.sort(result);
for (int i=0;i<k;i++)
System.out.print(result[i]+" ");
}
}
private static Random random = new Random(); private static int intRand() {
return Math.abs(random.nextInt()) % 10 + 1;
} private static void print(int[] arrays) {
for (int i : arrays) {
System.out.print(i + " ");
}
} private static boolean isInArray(int[] arrays, int value) {
boolean result = false;
for (int i = 0; i < arrays.length; i++) {
if (arrays[i] == value)
return true;
}
return result;
} public static void main(String[] args) {
int value;
int[] arrays = new int[10]; for (int i = 0; i < arrays.length; i++) {
do {
value = intRand();
} while (isInArray(arrays, value));
arrays[i] = value;
}
print(arrays);
}
}