1.先產生所需要的範圍陣列。
2.依序填入數值 (ex: 1 ,2 ,3 ,4 , ...,N)
3.將陣列中每一個值都與位置R互換,R是由亂數產生的,
亂數範圍由0~陣列長度-1 ,這樣最終可以求得不重覆亂數。
package random;
import java.util.Random;
/**
*
* @author bert
*/
public class Demo {
public static void main(String[] args) {
Demo demo = new Demo();
int[] poko = demo.DemoRandom();
for (int i = 0; i < poko.length; i++) {
System.out.print(poko[i] + ",");
}
System.out.println();
}
private int[] DemoRandom() {
int[] poko = new int[52];
int R = 0;
Random random = new Random();
int temp = 0;
//先產生要的數值出來
for (int i = 0; i < poko.length; i++) {
poko[i] = i;
}
//洗牌
for (int i = 0; i < poko.length; i++) {
//產生亂數
R = random.nextInt(poko.length);
temp = poko[i];
poko[i] = poko[R];
poko[R] = temp;
}
return poko;
}
}
執行結果
沒有留言:
張貼留言