java抽奖小程序_java 制作抽奖小程序

展开全部

帮你做了一个,不知是否满意呢?

import java.applet.Applet;

import java.awt.Button;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.util.Random;

import java.util.Vector;

public class Lottery extends Applet {

private static final long serialVersionUID = 1L;

int w,h;

Button ok,out,setup;

String[] msg;

TextField[] gaiLv;

TextField[] jiangPin;

int mx,ml;

int maxNum;

Random ran;

Vector fist;

Vector sec;

Vector third;

Vector lucky;

boolean lot=false;

boolean iserr=false;

boolean issetup=false;

String mesg="输入错误";

String priseMsg="继续努力!";

public void init(){

w=400;

h=220;

mx=20;

ml=40;

ran=new Random();

this.setSize(w, h);

this.setLayout(null);

ok=new Button("抽奖");

out=new Button("退出");

setup=new Button("确认设置");

msg=new String[4];

msg[0]="一等奖";

msg[1]="二等e68a8462616964757a686964616f31333264633562奖";

msg[2]="三等奖";

msg[3]="幸运奖";

gaiLv=new TextField[4];

jiangPin=new TextField[4];

for(int i=0;i<4;i++){

gaiLv[i]=new TextField("0.0"+(i+1));

this.add(gaiLv[i]);

gaiLv[i].setBounds(mx+ml, 75+i*26, 60, 18);

jiangPin[i]=new TextField();

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(new LotButtonAction(this));

this.add(out);

out.setBounds(330, 180, 60, 28);

out.addActionListener(new LotButtonAction(this));

this.add(setup);

setup.setBounds(110, 180, 80, 24);

setup.addActionListener(new LotButtonAction(this));

}

public void paint(Graphics g){

g.setColor(Color.white);

g.fillRect(0, 0, this.getWidth(), this.getHeight());

g.setColor(new Color(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(int i=0;i

g.setColor(new Color(255-(i*30),45,89));

g.drawString(msg[i], 20, 90+i*26);

}

if(lot==true){

g.setColor(new Color(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);

}

}

public void getLucky(){

float firu=1;

float secu=1;

float thiu=1;

float fouu=1;

float minu=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=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=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=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=fouu;

}

}

if(minu>=1||minu<=0){

iserr=true;

return;

}

float aNum=1/minu;

maxNum=(int)aNum;

int count=(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;

}

protected Vector getLotteryVec(int maxNum,int num){

Vector result=new Vector();

for(int i=0;i

result.add(ran.nextInt(maxNum));

}

return result;

}

protected int getaNum(){

return ran.nextInt(maxNum);

}

public int isLucky(int pNum){

for(int i=0;i

if(fist.get(i)==pNum){

return 1;

}

}

for(int i=0;i

if(sec.get(i)==pNum){

return 2;

}

}

for(int i=0;i

if(third.get(i)==pNum){

return 3;

}

}

for(int i=0;i

if(lucky.get(i)==pNum){

return 4;

}

}

return -1;

}

public void ButtonActionPerformed(ActionEvent e){

String acName=e.getActionCommand();

if(acName.equals("抽奖")){

if(issetup==false){

priseMsg="请先设置参数!";

lot=true;

repaint();

lot=false;

return;

}

lot=true;

priseMsg=getResult(getaNum());

repaint();

// lot=false;

}else if(acName.equals("退出")){

this.setVisible(false);

this.stop();

this.destroy();

System.exit(0);

}else if(acName.equals("确认设置")){

lot=false;

getLucky();

repaint();

}

}

public String getResult(int num){

int resu=isLucky(num);

String result="";

switch(resu){

case -1:

result="继续努力!";

break;

case 1:

result="恭喜你!一等奖!\n获得"+jiangPin[0].getText();

break;

case 2:

result="恭喜你!二等奖!\n获得"+jiangPin[1].getText();

break;

case 3:

result="恭喜你!三等奖!\n获得"+jiangPin[2].getText();

break;

case 4:

result="恭喜你!幸运奖!\n获得"+jiangPin[3].getText();

break;

default:

result="继续努力!";

}

return result+num;

}

}

class LotButtonAction implements java.awt.event.ActionListener{

Lottery su;

public LotButtonAction(Lottery bun){

this.su=bun;

}

@Override

public void actionPerformed(ActionEvent e) {

su.ButtonActionPerformed(e);

}

}

51526eb6a84cae334ed9da032111313e.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值