求一份抽奖游戏(Java写的代码)

求一份抽奖游戏(Java写的代码),第1张

import java.util.Scanner

/**

 *

 */

public class f {

    public static void main(String args[]){

        Scanner scan = new Scanner(System.in)

        System.out.print("请输入抽奖号码上限:")

      渣卖蔽  int max = scan.nextInt()

        System.out.print("请输入抽奖次数:"配碧)

        int n = scan.nextInt()

        System.out.print("中奖号码依次为:")

        for(int i=0i<ni++){

            System.out.print((int)(Math.random()*max+1)+" ")

      如州  }

    }

}

1、简单控制台程序如下,如需界面需要自己加个。

package zhidao

import java.util.HashSet

import java.util.Random

import java.util.Scanner

import java.util.Set

/**

* @author bufei

* @datetime 2020年8月31日15:54:11

*/

public class YaoHao {

public static void main(String[] args) {

String xian = "= = = = = = = = ="

// 起点        终点     奖个数        配升困  指定的号码个数

int start = 0, end = 0, prizeNum = 0, defaNum = 0

System.out.println(xian)

System.out.println("欢培念迎使用xxx 抽奖系统!")

System.out.println(xian)

Scanner scanner = new Scanner(System.in)

System.out.println("请输入号码范围例如 1 10:")

start = scanner.nextInt()

end = scanner.nextInt()

System.out.println("请输入奖项个数:")

prizeNum = scanner.nextInt()

System.out.println("请输入指笑中定中奖号码个数,不指定请输入0:")

defaNum = scanner.nextInt()

int[] defa = new int[defaNum]

if (defaNum != 0) {

System.out.println("请输入指定的中奖号码,空格隔开:")

for (int i = 0i <defaNumi++) {

defa[i] = scanner.nextInt()

}

}

System.out.println(xian)

System.out.println("本次抽奖中奖号码为:")

for (int num : randomDraw(start, end, prizeNum, defa)) {

System.out.print(num+" ")

}

}

/**

* @param start    抽奖范围起点

* @param end      抽奖号码范围终点

* @param prizeNum 中奖号码个数

* @param defa     指定中奖号码

* @return

*/

public static Set<Integer>randomDraw(int start, int end, int prizeNum, int[] defa) {

Set<Integer>set = new HashSet<>()

// 未指定中奖号码

if (defa.length == 0) {

//随机抽 prizeNum 个奖

while (set.size() <prizeNum) {

set.add(new Random().nextInt(end - start + 1) + start)

}

return set

} else {

//指定了中奖号码

//把指定的号码加入进去

for (int num : defa) {

set.add(num)

}

//如果没有全部指定 则继续抽剩余的奖项

while (set.size() <prizeNum - defa.length) {

set.add(new Random().nextInt(end - start + 1) + start)

}

return set

}

}

}

2、运行效果如图

指定了中奖号码

未指定中奖号码

未指定中奖号码


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12364060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存