java實現抽獎功能解析

本文實例為大傢分享瞭Android九宮格圖片展示的具體代碼,供大傢參考,具體內容如下

抽一個:

輸入抽獎人數,生成隨機數字進行抽獎。
比如:樓主抽幸運兒送遊戲,選擇前100樓抽取一個幸運兒。

import java.util.Random;
import java.util.Scanner;

public class Gift {
  public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.println("請您輸入抽獎人數:");
    int n = sc.nextInt();
    Random r1 = new Random();
    System.out.println("幸運兒是:"+(r1.nextInt(n)+1));

  }
}

抽多個:

輸入抽獎人數以及中獎人數,生成隨機數字進行抽獎。

比如:樓主抽幸運兒送遊戲,選擇前100樓抽取多個個幸運兒。

註:下面代碼還未解決 抽到相同序號 的問題

import java.util.Random;
import java.util.Scanner;

public class Gift {
  public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.print("請您輸入抽獎人數:");
    int n = sc.nextInt();
    System.out.print("請您輸入中獎人數:");
    int num;

    // 判斷中獎人數是否符合規則
    while (true) {
      num = sc.nextInt();
      if (n < num) {
        System.out.println("中獎人數 > 抽獎人數,不符合規則。");
        System.out.print("\n請重新輸入中獎人數:");

      } else
        break;
    }
    System.out.println("");
    // 創建一個整型數組,來存放抽取的多個幸運兒,來限制不能出現相同序號的幸運兒。
    int[] lucky = new int[num];
    Random r1 = new Random();
    for (int i = 0; i < num; i++) {
      while (true) {
        int luckyMan = r1.nextInt(n) + 1;
        lucky[i] = luckyMan;
        int j = 1;
        if (i == 0) {
          System.out.println("幸運兒是:" + luckyMan);
          break;
        }
       else{
          // 要不等於前面所有的  即 3!=2 && 3!=1 && 3!=0
          if (lucky[i] != lucky[i-1]){
            System.out.println("幸運兒是:"+luckyMan);
            break;
          }
        }
      }
    }
  }
}

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: