1. 程式人生 > 實用技巧 >需求:在一個數組中存入一個隨機不重複的5個數,隨機數1-5

需求:在一個數組中存入一個隨機不重複的5個數,隨機數1-5

需求:
// * 一個大V直播抽獎,獎品是現金紅包,
// * 分別有{2,588,888,1000,10000}五個獎金。
// * 請使用程式碼模擬抽獎,
// * 打印出每個獎項,
// * 獎項的出現順序要隨機且不重複。
// * 列印效果如下:(隨機順序,不一定是下面的順序)
// 888元的獎金被抽出
// 588元的獎金被抽出
// 10000元的獎金被抽出
// 1000元的獎金被抽出
// 2元的獎金被抽出
// *


//名稱空間
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
//類
public class Day5_Tast {
//程式碼
public static void main(String[] args) {
  int[] arr = {10000, 1000, 588, 888, 2};
  int[] number_Order = new int[arr.length];
  getRandomOrder(number_Order);
  for (int i = 0; i < arr.length; i++) {
   System.out.println(arr[number_Order[i]-1]+"元的獎金被抽出");
  }
}

//需求:在一個數組中存入一個隨機不重複的5個數,隨機數1-5
public static void getRandomOrder(int[] number_Order) {
    //需求:在一個數組中存入一個隨機不重複的5個數,隨機數1-5
Random r = new Random();
int a;
//賦值
for (int i = 0; i < number_Order.length; i++) {
a = (r.nextInt(5) + 1);
//判斷是否相同
for (int j = 0; j < number_Order.length; j++) {
if (a == number_Order[j]) {
a = (r.nextInt(5) + 1);
j = -1;
}
}
number_Order[i] = a;
}

}
}