Ⅰ 抽奖java程序(是作业,急需
本来老早都给你弄好了,可你也不操心,一直没有给你发;现在就这样,需要改的话,说一下
/**
* 根据倒叙的字符串,获取与最后一位相同的位数
* @param string -倒叙后的字符串
* @return -后几位相同
*/
public static int getString( String string){
String string1 = string+"-";
//正则
String[] arr1 = string1.split(string1.toCharArray()[0]+"");
String string2 = string1.substring(0,arr1.length-1)+"-";
String[] arr2 = string2.split(string2.toCharArray()[0]+"");
return arr1.length==arr2.length?arr1.length-1:
getString(string.substring(0,arr1.length-1))
;
}
/**
* 后几位相同
* @param num
* @return
*/
public static int get(Integer num,Integer o){
String string = (num+o)+"";
StringBuffer buffer = new StringBuffer(string);
string = buffer.reverse().toString();//字符串倒叙
int count = getString(string);
return count==3&&o==0?3:
count==4&&o==0?2:
count==6&&o==0?1:
count==3&&o==1?31:
count==4&&o==1?21:
count==6&&o==1?11:
count==3&&o==-1?32:
count==4&&o==-1?22:
count==6&&o==-1?12: -1;
}
public static void main(String[] args) {
Map<String,String> map = new TreeMap<>();
Set<Integer> set = new HashSet<>();
set.add(402223);
set.add(402221);
set.add(401223);
set.add(401221);
set.add(222223);
set.add(222221);
int b = 0,n=30;
while (true){
int random = (int) (Math.random()*(1000000-100000) + 100000);
set.add(random);
if (set.size() == n){
break;
}
}
for (Integer key:set){
int count = get(key,0);
//最后一个数字是0或9的话就只有一个
count = count < 0&&key%10!=9?get(key,1):count;
count = count < 0&&key%10!=1?get(key,-1):count;
String str = count>0?(
count/10==0?(
count==3?"third":count==2?"second":"first"
)
:(
"adjacent"
)
):
"blank";
//"欢迎再来";
map.put("买到的号码:"+key, str);
}
System.out.println(map);
}
Ⅱ 用Java编写一个抽奖游戏要求: 1.用户单击“开始”按钮进行滚动抽奖,单击“停止”按钮即可产生1
使用 ArrayList<Integer> 放那些待抽的数,,,,抽一个、delete一个。。。。。。
Ⅲ 用java做一个抽奖的代码
要在cmd下运行啊 我想你安装JDK没?
import java.util.*;
class Test{
private int maxSize=0;
private int selectSize=0;
private List<Integer> list=new ArrayList<Integer>();
private int[] one=new int[7];
public Test(int maxSize,int selectSize){
this.maxSize=maxSize;
this.selectSize=selectSize;
one=new int[selectSize];
for(int i=1;i<=maxSize;i++)
list.add(Integer.valueOf(i));
}
public void open(){
List<Integer> temp=new ArrayList<Integer>();
temp.addAll(list);
int[] p=new int[selectSize];
int tag=0;
for(int i=0;i<selectSize;i++){
tag=(int)(Math.random()*555555%temp.size());
p[i]=(Integer)temp.get(tag).intValue();
temp.remove(tag);
}
one=p;
}
public void paixu(){
int temp=0;
for(int i=0;i<selectSize;i++){
for(int j=0;j<selectSize-1;j++){
if(one[j]>one[j+1]) {temp=one[j];one[j]=one[j+1];one[j+1]=temp;}
}
}
}
public void printOpen(){
open();
paixu();
for(int i=0;i<one.length;i++)
System.out.print(one[i]+" ");
System.out.println();
}
static public void main(String[] str){
Test t=new Test(33,6); //彩票类型:33选6
for(int i=0;i<10;i++) //开10次奖
t.printOpen();
}
}
Ⅳ 做一个JAVA的抽奖系统
用随机的办法 来 作为抽奖结果 是误人的。。。。
理想办法是生成抽奖池
然后以随机数的办法生成数据进入抽奖池中抽取奖品
并且加入判断语句来过滤已经抽取出来的奖品 一直到奖池为空
Ⅳ 关于java抽奖代码
intSjs=newRandom().nextInt(10)+1;
if(Sjs==1)
{
System.out.println("您抽到的是一等奖");
}
elseif(Sjs>1&&Sjs<4)
{
System.out.println("您抽到的是二等奖");
}
elseif(Sjs>3&&Sjs<7)
{
System.out.println("您抽到的是三等奖");
}
else
{
System.out.println("谢谢参与");
}
你这个if判断语句后面是没有分号的,
Ⅵ 怎么用JAVA写一个主要用很贵的物品抽奖而且是转盘的且概率是千万分之一提问
在一千万中随机生成一个随机数就行
Ⅶ java 制作抽奖小程序
帮你做了一个,不知是否满意呢?
importjava.applet.Applet;
importjava.awt.Button;
importjava.awt.Color;
importjava.awt.Graphics;
importjava.awt.TextField;
importjava.awt.event.ActionEvent;
importjava.util.Random;
importjava.util.Vector;
{
=1L;
intw,h;
Buttonok,out,setup;
String[]msg;
TextField[]gaiLv;
TextField[]jiangPin;
intmx,ml;
intmaxNum;
Randomran;
Vector<Integer>fist;
Vector<Integer>sec;
Vector<Integer>third;
Vector<Integer>lucky;
booleanlot=false;
booleaniserr=false;
booleanissetup=false;
Stringmesg="输入错误";
StringpriseMsg="继续努力!";
publicvoidinit(){
w=400;
h=220;
mx=20;
ml=40;
ran=newRandom();
this.setSize(w,h);
this.setLayout(null);
ok=newButton("抽奖");
out=newButton("退出");
setup=newButton("确认设置");
msg=newString[4];
msg[0]="一等奖";
msg[1]="二等奖";
msg[2]="三等奖";
msg[3]="幸运奖";
gaiLv=newTextField[4];
jiangPin=newTextField[4];
for(inti=0;i<4;i++){
gaiLv[i]=newTextField("0.0"+(i+1));
this.add(gaiLv[i]);
gaiLv[i].setBounds(mx+ml,75+i*26,60,18);
jiangPin[i]=newTextField();
this.add(jiangPin[i]);
jiangPin[i].setBounds(mx+ml*3,75+i*26,80,18);
}
this.add(ok);
ok.setBounds(260,180,60,28);
ok.addActionListener(newLotButtonAction(this));
this.add(out);
out.setBounds(330,180,60,28);
out.addActionListener(newLotButtonAction(this));
this.add(setup);
setup.setBounds(110,180,80,24);
setup.addActionListener(newLotButtonAction(this));
}
publicvoidpaint(Graphicsg){
g.setColor(Color.white);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(newColor(230,255,230));
g.fillRect(0,0,w,30);
g.setColor(Color.BLUE);
g.drawString("JAVA抽奖系统",130,20);
g.setColor(Color.ORANGE);
g.drawRect(10,40,230,170);
g.setColor(Color.BLACK);
g.drawString("设置",mx,60);
g.drawString("概率",mx+ml,60);
g.drawString("奖品",mx+ml*3,60);
for(inti=0;i<msg.length;i++){
g.setColor(newColor(255-(i*30),45,89));
g.drawString(msg[i],20,90+i*26);
}
if(lot==true){
g.setColor(newColor(ran.nextInt(255),ran.nextInt(255),ran.nextInt(255)));
if(priseMsg.length()<=7){
g.drawString(priseMsg,260,100);
}else{
g.drawString(priseMsg.substring(0,5),260,100);
g.drawString(priseMsg.substring(5),260,120);
}
}
if(iserr==true){
g.drawString(mesg,260,100);
}
}
publicvoidgetLucky(){
floatfiru=1;
floatsecu=1;
floatthiu=1;
floatfouu=1;
floatminu=1;
if(gaiLv[0].getText().trim().length()>1){
firu=Float.parseFloat(gaiLv[0].getText());
if(firu<=0||firu>=1){
iserr=true;
return;
}
if(firu<minu){
minu=firu;
}
}
if(gaiLv[1].getText().trim().length()>1){
secu=Float.parseFloat(gaiLv[1].getText());
if(secu<=0||secu>=1){
iserr=true;
return;
}
if(secu<minu){
minu=secu;
}
}
if(gaiLv[2].getText().trim().length()>1){
thiu=Float.parseFloat(gaiLv[2].getText());
if(thiu<=0||thiu>=1){
iserr=true;
return;
}
if(thiu<minu){
minu=thiu;
}
}
if(gaiLv[3].getText().trim().length()>1){
fouu=Float.parseFloat(gaiLv[3].getText());
if(fouu<=0||fouu>=1){
iserr=true;
return;
}
if(fouu<minu){
minu=fouu;
}
}
if(minu>=1||minu<=0){
iserr=true;
return;
}
floataNum=1/minu;
maxNum=(int)aNum;
intcount=(int)(firu/minu);
if(firu!=1){
fist=getLotteryVec(maxNum,count);
}else{
fist.removeAllElements();
}
count=(int)(secu/minu);
if(secu!=1){
sec=getLotteryVec(maxNum,count);
}else{
sec.removeAllElements();
}
count=(int)(thiu/minu);
if(thiu!=1){
third=getLotteryVec(maxNum,count);
}else{
third.removeAllElements();
}
count=(int)(fouu/minu);
if(fouu!=1){
lucky=getLotteryVec(maxNum,count);
}else{
lucky.removeAllElements();
}
issetup=true;
iserr=false;
}
protectedVector<Integer>getLotteryVec(intmaxNum,intnum){
Vector<Integer>result=newVector<Integer>();
for(inti=0;i<num;i++){
result.add(ran.nextInt(maxNum));
}
returnresult;
}
protectedintgetaNum(){
returnran.nextInt(maxNum);
}
publicintisLucky(intpNum){
for(inti=0;i<fist.size();i++){
if(fist.get(i)==pNum){
return1;
}
}
for(inti=0;i<sec.size();i++){
if(sec.get(i)==pNum){
return2;
}
}
for(inti=0;i<third.size();i++){
if(third.get(i)==pNum){
return3;
}
}
for(inti=0;i<lucky.size();i++){
if(lucky.get(i)==pNum){
return4;
}
}
return-1;
}
(ActionEvente){
StringacName=e.getActionCommand();
if(acName.equals("抽奖")){
if(issetup==false){
priseMsg="请先设置参数!";
lot=true;
repaint();
lot=false;
return;
}
lot=true;
priseMsg=getResult(getaNum());
repaint();
//lot=false;
}elseif(acName.equals("退出")){
this.setVisible(false);
this.stop();
this.destroy();
System.exit(0);
}elseif(acName.equals("确认设置")){
lot=false;
getLucky();
repaint();
}
}
publicStringgetResult(intnum){
intresu=isLucky(num);
Stringresult="";
switch(resu){
case-1:
result="继续努力!";
break;
case1:
result="恭喜你!一等奖! 获得"+jiangPin[0].getText();
break;
case2:
result="恭喜你!二等奖! 获得"+jiangPin[1].getText();
break;
case3:
result="恭喜你!三等奖! 获得"+jiangPin[2].getText();
break;
case4:
result="恭喜你!幸运奖! 获得"+jiangPin[3].getText();
break;
default:
result="继续努力!";
}
returnresult+num;
}
}
.awt.event.ActionListener{
Lotterysu;
publicLotButtonAction(Lotterybun){
this.su=bun;
}
@Override
publicvoidactionPerformed(ActionEvente){
su.ButtonActionPerformed(e);
}
}
Ⅷ 求Java实现转盘转动功能,抽奖,坐等
转盘转动就是图片,定义一个随机数random;
if(random==1){
画中奖的图片
}else{
画不中奖的图片}
Ⅸ 用java完成一个抽奖的程序。 每次运行程序,都会从以下的抽奖结果中随机显示一个出来:
生成100个对象,对象有个属性,其中10个是大奖,40个是小奖,50个是无奖。
放到一个List里。
每次抽中的步骤
1、随机生成0-List长度之间的数值 ,去取List中的相应对象,并移除这个对象。
代码如下。:
奖品对象类:
public class PrizeBean {
private String type;
public String getType() {
return eggType;
}
public void setType(String eggType) {
this.eggType = eggType;
}
}
奖品池初始化代码段:
{
List prizebeanList = new ArrayList();
for (int i = 0; i < 10; i++) {
PrizeBean prizeBean = new PrizeBean();
prizeBean.setType(“大奖“);
prizebeanList.add(prizeBean);
}
for (int i = 0; i < 40; i++) {
PrizeBean prizeBean = new PrizeBean();
prizeBean.setType(“小奖“);
prizebeanList.add(prizeBean);
}
for (int i = 0; i < 50; i++) {
PrizeBean prizeBean = new PrizeBean();
prizeBean.setType(“无奖“);
prizebeanList.add(prizeBean);
}
}
抽奖代码段:
/**
*奖品池已经空的,肯定返回无奖了。。。
**/
if(prizebeanList.size()==0){
- 没有中奖哦,下次加油!
return;
}
/**
* 随机生成,奖品池中奖品数量的数字。。取出奖品池中的数字。。移除记录。返回。。
*/
int resultnum = (int) (Math.random() * prizebeanList.size());
PrizeBean resultPrizeBean = prizebeanList.get(resultnum);
prizebeanList.remove(resultPrizeBean);
if(resultPrizeBean.getType() .eqauls("大奖"){
- 恭喜,大奖!
}else if(resultPrizeBean.getType() .eqauls("小奖"){
- 运气不错哦,小奖!
}else{
- 没有中奖哦,下次加油!
}.
Ⅹ 跪求java 抽奖程序 含数据库
程序循环应该写在开始按钮的监听里,当按下开始按钮后,程序开始循环,当按停止按钮时,循环停止. 你可以用while循环, 条件是一个boolean型的值,当按开始值为true,当按停止值为false.
昨天帮一个哥们改了一个JAVA的模拟抽奖程序,有点意思。自己还给它加了一个暗箱,嘿嘿。暗箱还是比较暗,而且作用效果不错,准备再改改。改好了发源码!
本程序用于模拟抽奖,可用于日常的单位、公司进行抽奖活动。
具体的算法思想是:
首先从一个文本文件中读取参加抽奖的人员信息,该信息有一定的格式既:姓名-手机号码(根据具体情况而定,切记中间是字符“-”,否则无法读入)。如下图:
程序将读入的信息装入两个VECTOR中(v_identNumber和v_name)。点击“开始”按钮进行抽奖操作。
后台的数据产生是利用JAVA的伪随机函数。根据随机数产生展现在前台的字符,每次间隔的时间是0.05秒。
用户点击“停止”按钮,操作线程就挂起,这时产生相应的中奖号码(即前台展示的号码),中奖号码存储在v_printident中。v_printident同样是VECTOR类型的。
本系统设置的是将产生3个3等奖,2个2等奖,1个1等奖还有一个特等奖。系统将根据用户点击按钮次数来确定产生几等奖。
奖项全部产生以后,点击保存,可以将结果信息保存在当前目录下的result.txt中。
关于暗箱的说明:
基本说明:
暗箱操作不是光明正大的行为,但是作为一个小小的研究对象,本人觉得还是有点意思。
具体功能:
可以实现对制定人员的获奖操作,可以实现对特等奖的产生操作。
实现机制:
首先,用户读入指定获奖的人员文件,数据的格式为:姓名*号码切记是(“*”,否则无法读入)。在人员文件的最后一行,是控制中奖力度的key,具体格式为“ *key”(切记前面要有一个空格键),如下图:
关于key的说明:
Key的值可以设置1到10,如果没有在这个范围,系统将自动设置key为5
系统的key设置得越大,指定人员的获奖概率就越大。具体公式:key/(总人数*指定人数)
如果key的值设置为10,系统将会产生特等奖,获得者为制定人员的第一项,但是除了特等奖,不会再对其他人员有任何操作(相当于只能产生特等奖)。
其他一些说明读者自己去看程序,这里不再赘述。程序很简单(在后面的):