「Java循环抽奖」java抽奖概率

博主:adminadmin 2023-01-10 13:24:09 749

本篇文章给大家谈谈Java循环抽奖,以及java抽奖概率对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA 模拟抽奖,输入4位号码,如果这个号码的百位数能够被3整除,你就可以再免费领取一张电影票

package com.java.test01;

import java.util.Scanner;

/**

 * JAVA 模拟抽奖,输入4位号码,

 * 如果这个号码的百位数能够被3整除,

 * 你就可以再免费领取一张电影票 

 * @author Administrator

 *

 */

public class Chou {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        //循环,模拟一直抽奖

        while(true){

            System.out.println("请输入4位号码:");

            if (sc.hasNext()) {

                //获取号码

                int number = sc.nextInt();

                //获取百位的数字

                int bai = number / 100 % 10;

                //判断是否符合条件

                if (bai % 3 == 0) {//能被3整除

                    System.out.println("恭喜你领到了一张电影票!");

                }else{

                    System.out.println("很遗憾,未中奖!");

                }

                

            }else{

                System.out.println("请正确输入!");

            }

        }

    }

}

Java代码实现抽奖:从班级的学号中抽出一个一等奖,两个二等奖,三个三等奖

抽取问题, 重点是 同一个学号不能重复被抽取.

解决办法很多,

比如数组可以使用下标来标记,号码是否被使用,使用了就继续下一次抽取

也可以使用集合来抽取,把集合顺序打乱,然后随便抽几个就可以了

参考代码:数组法

import java.util.Random;

public class Test {

public static void main(String[] args) {

int stuNums=30;

int[] nums=new int[stuNums];//存储学号的数组

boolean[] flags=new boolean[stuNums];//标记,用于标记对应下标的学号是否已经被抽取过了

for (int i = 0; i  stuNums; i++) {

nums[i]=i+1;//给学号赋值

}

Random r=new Random();

while(true){

int index = r.nextInt(stuNums);

if(!flags[index]){

System.out.println("A等:"+nums[index]);

flags[index]=true; //标记已经被使用过了

break;

}

}

for (int i = 0; i  2; i++) {

int index = r.nextInt(stuNums);

if(!flags[index]){

System.out.println("B等:"+nums[index]);

flags[index]=true;

}else{

i--;//如果已经被抽取过了 ,那么i建议,再次循环

}

}

for (int i = 0; i  3; i++) {

int index = r.nextInt(stuNums);

if(!flags[index]){

System.out.println("c等:"+nums[index]);

flags[index]=true;

}else{

i--;

}

}

}

}

集合法

import java.util.ArrayList;

import java.util.Collections;

public class Test2 {

public static void main(String[] args) {

int stuNums=20;

ArrayListInteger list=new ArrayListInteger();

for (int i = 0; i  stuNums; i++) {

list.add(i+1);

}

System.out.println("有序"+list);

Collections.shuffle(list);//打乱顺序

System.out.println("乱序"+list);

System.out.println("A等"+list.get(0));

System.out.println("B等"+list.get(1));

System.out.println("B等"+list.get(2));

System.out.println("C等"+list.get(3));

System.out.println("C等"+list.get(4));

System.out.println("C等"+list.get(5));

}

}

Java中一道题,for循环做一个幸运抽奖系统,如何做到先注册才能登陆,登陆后才能抽奖,此三步骤 求解!

1、用户注册。

建议使用map保存用户数据。key为账号,value为密码。启动的时候new一个hashmap。然后注册的时候往map里面put值。

当然如果你要用xml、properties甚至是数据库保存用户数据也行。

2、用户登陆。

直接判断map中有没有账号。然后匹配密码是否正确。

3、抽奖。

不知道你要怎么抽,每次抽几个。然后肯定要先注册几个账号进去。不然没有数据。

把map的keyset取出来,转换成一个数组,然后随机数组长度以内的整数,这个可能需要控制好是不是重复获取的问题。根据随机的数去数组中取账号。

Java用do-while循环写出一个抽奖程序

//这个是我习惯的包名,呵呵package com.james.wk;import java.util.Random;

import java.util.Scanner;public class guess {

public static boolean getIt() {

Scanner input = new Scanner(System.in);

Random ra = new Random();

System.out.println("请输入你的会员号:");

int a=0; //初始化会员号

a = input.nextInt();

int b = ra.nextInt(10); //随机数

System.out.println("幸运数是:" + b);

int c = 0; //定义a的百位数

if (a = 999 || a = 10000) {

System.out.println("请输入四位数");

getIt();

}

c = a / 100 % 10;

if (b == c) {

return true;

}

return false;

} public static void main(String[] args) {

String sure=null;

do{

System.out.println("是否开始猜奖?(任意键开始,’N‘下次退出)");

sure=new Scanner(System.in).next();

if(sure.toLowerCase().equals("n")){

System.out.println("您已经退出!");

return;

}else{

if (new guess().getIt()) {

System.out.println("恭喜你是猜到了!");

} else {

System.out.println("猜错了");

}

}

}while(1==1);

}

}

会有点漏洞,会员号输入时验证不能为其他字符没有做,不好意思

Java循环抽奖的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java抽奖概率、Java循环抽奖的信息别忘了在本站进行查找喔。