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; } }
執行結果
沒有留言:
張貼留言