Java抽奖

Posted 秀发如云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java抽奖相关的知识,希望对你有一定的参考价值。

【Java】抽奖

抽一个:

输入抽奖人数,生成随机数字进行抽奖。
比如:楼主抽幸运儿送游戏,选择前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;
                    
                
            
        
    


以上是关于Java抽奖的主要内容,如果未能解决你的问题,请参考以下文章

Java实现抽奖幸运儿

Java实现抽奖幸运儿

Java 幸运抽奖项目

12.幸运抽奖

幸运抽奖

幸运抽奖,分解一个千位数求各位数之和