「Java循环抽奖」java抽奖概率
本篇文章给大家谈谈Java循环抽奖,以及java抽奖概率对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA 模拟抽奖,输入4位号码,如果这个号码的百位数能够被3整除,你就可以再免费领取一张电影票
- 2、Java代码实现抽奖:从班级的学号中抽出一个一等奖,两个二等奖,三个三等奖
- 3、Java中一道题,for循环做一个幸运抽奖系统,如何做到先注册才能登陆,登陆后才能抽奖,此三步骤 求解!
- 4、Java用do-while循环写出一个抽奖程序
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循环抽奖的信息别忘了在本站进行查找喔。