导航:首页 > 源码编译 > java抽奖程序源码

java抽奖程序源码

发布时间:2025-04-28 23:18:04

‘壹’ 能帮忙用java做一个抽奖程序吗,就是简单的一,二,三等奖,特等奖。谢谢

找了两组程序:
代码一:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class GoodLucky extends JFrame implements ActionListener
{

JTextField tf = new JTextField();
JButton b1 = new JButton("开始");
JButton b2 = new JButton("停止");
boolean sg=false;
public GoodLucky(){
b1.setActionCommand("start");
JPanel p = new JPanel();
p.add(b1);
p.add(b2);

b1.addActionListener(this);
b2.addActionListener(this);
b2.setEnabled(false);

this.getContentPane().add(tf,"North");
this.getContentPane().add(p,"South");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300,200);
this.setLocation(300,300);
Cursor cu = new Cursor(Cursor.HAND_CURSOR);
this.setCursor(cu);
this.setVisible(true);
tf.setText("祝大家鸿运!");
this.go();

}

public void go()
{
while(true)
{
if(sg==true)
{
String s = " ";
for(int j = 1; j <= 7;j++)
{
int i = (int)(Math.random() * 9) + 1;
if(i < 10)
{
s = s + " 0" + i;
}
else
{
s = s + " " + i;
}

}
tf.setText(s);
}

try
{
Thread.sleep(100);
}
catch(java.lang.InterruptedException e)
{
e.printStackTrace();
}

}

}

public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if(s.equals("start"))
{
sg = true;
b1.setEnabled(false);
b2.setEnabled(true);
}
else
{
sg= false;
b2.setEnabled(false);
b1.setEnabled(true);
}
}

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

代码二:
package com.softeem.lesson03;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class LuckyNumberInterface extends JFrame {

JLabel ltitle = new JLabel("欢迎使用本抽奖机", JLabel.CENTER);
JLabel linput = new JLabel("幸运号码:");
JTextField input = new JTextField(20);
JButton btnStart = new JButton("开始");
JButton btnStop = new JButton("停止");
JPanel lpanel = new JPanel();
JPanel btnPanel = new JPanel();

public LuckyNumberInterface() {
super("抽奖机");

final LuckyNumber ln = new LuckyNumber(input);
ln.start();
Container container = getContentPane();

lpanel.add(linput);
lpanel.add(input);

btnPanel.add(btnStart);
btnPanel.add(btnStop);

Font font = new Font("宋体", Font.BOLD, 16);
ltitle.setFont(font);
container.add(ltitle, BorderLayout.NORTH);
container.add(lpanel, BorderLayout.CENTER);
container.add(btnPanel, BorderLayout.SOUTH);

btnStart.addMouseListener(new MouseAdapter() {

@Override
public void mouseClicked(MouseEvent arg0) {
ln.setFlag(true);
}

});

btnStop.addMouseListener(new MouseAdapter() {

@Override
public void mouseClicked(MouseEvent arg0) {
ln.setFlag(false);
}

});

setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(400, 120);//设置窗口的显示大小
setLocation(400, 300);//设置窗口显示的位置
setVisible(true);//显示窗口
}

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

package com.softeem.lesson03;

import java.text.DecimalFormat;
import java.util.Random;

import javax.swing.JTextField;

public class LuckyNumber extends Thread {

private String luckyNumber = "";
private boolean flag = false;//开关
private JTextField input;

public LuckyNumber(JTextField input) {
this.input = input;
}
public void setFlag(boolean flag) {
this.flag = flag;
}

@Override
public void run() {
while (true) {
if (flag) {
generatorLuckyNumber();
}
}
}

public void generatorLuckyNumber() {
String[] firstNumber = { "130", "131", "134", "137", "135", "139",
"150", "151", "155", "158", "159" };
Random rd = new Random();
int number = rd.nextInt(10000);
DecimalFormat df = new DecimalFormat("0000");
String lastNumber = df.format(number);
luckyNumber = firstNumber[rd.nextInt(firstNumber.length)] + "****"
+ lastNumber;
input.setText("");
input.setText(luckyNumber);
}

}

‘贰’ 用swing编写一个java抽奖的程序,至少有5个按钮,显得高大上一点。

&#8205;

importjava.awt.Color;//界面不是很高大上档次,但是能满足你的基本需求,希望对你有用
importjava.awt.Font;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JOptionPane;
importjavax.swing.border.Border;
importjavax.swing.border.LineBorder;
publicclass抽奖游戏extendsJFrame{
static抽奖游戏frame;
public抽奖游戏(){
setLayout(newGridLayout(3,3,3,3));
Borderborder=newLineBorder(Color.BLUE,4);
JButtonl1=newJButton();
JButtonl2=newJButton();
JButtonl3=newJButton();
JButtonl4=newJButton();
JButtonl5=newJButton();
JButtonl6=newJButton();
JButtonl7=newJButton("祝你好运");
JButtonl8=newJButton("中奖规则");
JButtonl9=newJButton("再次抽奖");
l1.setBorder(border);
l2.setBorder(border);
l3.setBorder(border);
l4.setBorder(border);
l5.setBorder(border);
l6.setBorder(border);
l7.setBorder(border);
l8.setBorder(border);
l9.setBorder(border);
String[]num2={"1","2","3","4","5","6"};
l8.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
JOptionPane.showMessageDialog(null,"游戏规则: "+"特等奖: "
+"第一行或者第二行出现的数字全部相同 "
+"第一第二行出现升序的1,2,3,4,5,6或者降序的6,5,4,3,2,1 "+"一等奖 "
+"1:第一行或第二行的数字降序排列或者升序排列 "
+"2:第一行或者第二行相邻的按钮出现一样的数字 ");
}
});
l9.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
l1.setText("*");
l2.setText("*");
l3.setText("*");
l4.setText("*");
l5.setText("*");
l6.setText("*");
l7.setBackground(Color.lightGray);
l7.setText("离中奖不远了!");
}
});
l6.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
intj1=(int)(Math.random()*10)%6;
l1.setText(num2[j1]);
intj2=(int)(Math.random()*10)%6;
l2.setText(num2[j2]);
intj3=(int)(Math.random()*10)%6;
l3.setText(num2[j3]);
intj4=(int)(Math.random()*10)%6;
l4.setText(num2[j4]);
intj5=(int)(Math.random()*10)%6;
l5.setText(num2[j5]);
intj6=(int)(Math.random()*10)%6;
l6.setText(num2[j6]);
if(j1==j2&&j2==j3||j4==j5&&j5==j6||j1==1
&&j2==2&&j3==3&&j4==4&&j5==5&&j6==6
||j1==6&&j2==5&&j3==4&&j4==3&&j5==2
&&j6==1){
l7.setBackground(Color.red);
l7.setText("特等奖");
}elseif(j1>j2&&j2>j3||j3>j2&&j2>j1||j4>j5
&&j5>j6||j6>j5&&j5>j4||j1==j2
&&j5==j4||j1==j2&&j5==j6||j3==j2
&&j4==j5||j5==j6&&j2==j3){
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
}else{
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l5.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
intj1=(int)(Math.random()*10)%6;
l1.setText(num2[j1]);
intj2=(int)(Math.random()*10)%6;
l2.setText(num2[j2]);
intj3=(int)(Math.random()*10)%6;
l3.setText(num2[j3]);
intj4=(int)(Math.random()*10)%6;
l4.setText(num2[j4]);
intj5=(int)(Math.random()*10)%6;
l5.setText(num2[j5]);
intj6=(int)(Math.random()*10)%6;
l6.setText(num2[j6]);
if(j1==j2&&j2==j3||j4==j5&&j5==j6||j1==1
&&j2==2&&j3==3&&j4==4&&j5==5&&j6==6
||j1==6&&j2==5&&j3==4&&j4==3&&j5==2
&&j6==1){
l7.setBackground(Color.red);
l7.setText("特等奖");
}elseif(j1>j2&&j2>j3||j3>j2&&j2>j1||j4>j5
&&j5>j6||j6>j5&&j5>j4||j1==j2
&&j5==j4||j1==j2&&j5==j6||j3==j2
&&j4==j5||j5==j6&&j2==j3){
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
}else{
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l4.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
intj1=(int)(Math.random()*10)%6;
l1.setText(num2[j1]);
intj2=(int)(Math.random()*10)%6;
l2.setText(num2[j2]);
intj3=(int)(Math.random()*10)%6;
l3.setText(num2[j3]);
intj4=(int)(Math.random()*10)%6;
l4.setText(num2[j4]);
intj5=(int)(Math.random()*10)%6;
l5.setText(num2[j5]);
intj6=(int)(Math.random()*10)%6;
l6.setText(num2[j6]);
if(j1==j2&&j2==j3||j4==j5&&j5==j6||j1==1
&&j2==2&&j3==3&&j4==4&&j5==5&&j6==6
||j1==6&&j2==5&&j3==4&&j4==3&&j5==2
&&j6==1){
l7.setBackground(Color.red);
l7.setText("特等奖");
}elseif(j1>j2&&j2>j3||j3>j2&&j2>j1||j4>j5
&&j5>j6||j6>j5&&j5>j4||j1==j2
&&j5==j4||j1==j2&&j5==j6||j3==j2
&&j4==j5||j5==j6&&j2==j3){
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
}else{
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
intj1=(int)(Math.random()*10)%6;
l1.setText(num2[j1]);
intj2=(int)(Math.random()*10)%6;
l2.setText(num2[j2]);
intj3=(int)(Math.random()*10)%6;
l3.setText(num2[j3]);
intj4=(int)(Math.random()*10)%6;
l4.setText(num2[j4]);
intj5=(int)(Math.random()*10)%6;
l5.setText(num2[j5]);
intj6=(int)(Math.random()*10)%6;
l6.setText(num2[j6]);
if(j1==j2&&j2==j3||j4==j5&&j5==j6||j1==1
&&j2==2&&j3==3&&j4==4&&j5==5&&j6==6
||j1==6&&j2==5&&j3==4&&j4==3&&j5==2
&&j6==1){
l7.setBackground(Color.red);
l7.setText("特等奖");
}elseif(j1>j2&&j2>j3||j3>j2&&j2>j1||j4>j5
&&j5>j6||j6>j5&&j5>j4||j1==j2
&&j5==j4||j1==j2&&j5==j6||j3==j2
&&j4==j5||j5==j6&&j2==j3){
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
}else{
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
intj1=(int)(Math.random()*10)%6;
l1.setText(num2[j1]);
intj2=(int)(Math.random()*10)%6;
l2.setText(num2[j2]);
intj3=(int)(Math.random()*10)%6;
l3.setText(num2[j3]);
intj4=(int)(Math.random()*10)%6;
l4.setText(num2[j4]);
intj5=(int)(Math.random()*10)%6;
l5.setText(num2[j5]);
intj6=(int)(Math.random()*10)%6;
l6.setText(num2[j6]);
if(j1==j2&&j2==j3||j4==j5&&j5==j6||j1==1
&&j2==2&&j3==3&&j4==4&&j5==5&&j6==6
||j1==6&&j2==5&&j3==4&&j4==3&&j5==2
&&j6==1){
l7.setBackground(Color.red);
l7.setText("特等奖");
}elseif(j1>j2&&j2>j3||j3>j2&&j2>j1||j4>j5
&&j5>j6||j6>j5&&j5>j4||j1==j2
&&j5==j4||j1==j2&&j5==j6||j3==j2
&&j4==j5||j5==j6&&j2==j3){
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
}else{
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
intj1=(int)(Math.random()*10)%6;
l1.setText(num2[j1]);
intj2=(int)(Math.random()*10)%6;
l2.setText(num2[j2]);
intj3=(int)(Math.random()*10)%6;
l3.setText(num2[j3]);
intj4=(int)(Math.random()*10)%6;
l4.setText(num2[j4]);
intj5=(int)(Math.random()*10)%6;
l5.setText(num2[j5]);
intj6=(int)(Math.random()*10)%6;
l6.setText(num2[j6]);
if(j1==j2&&j2==j3||j4==j5&&j5==j6||j1==1
&&j2==2&&j3==3&&j4==4&&j5==5&&j6==6
||j1==6&&j2==5&&j3==4&&j4==3&&j5==2
&&j6==1){
l7.setBackground(Color.red);
l7.setText("特等奖");
}elseif(j1>j2&&j2>j3||j3>j2&&j2>j1||j4>j5
&&j5>j6||j6>j5&&j5>j4||j1==j2
&&j5==j4||j1==j2&&j5==j6||j3==j2
&&j4==j5||j5==j6&&j2==j3){
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
}else{
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
Fontfont=newFont("",Font.BOLD,20);
l1.setFont(font);
l2.setFont(font);
l3.setFont(font);
l4.setFont(font);
l5.setFont(font);
l6.setFont(font);
l7.setFont(font);
l8.setFont(font);
l9.setFont(font);
add(l1);
add(l2);
add(l3);
add(l4);
add(l5);
add(l6);
add(l7);
add(l8);
add(l9);
}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
frame=new抽奖游戏();
frame.setTitle("抽奖大战");
frame.setSize(500,500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

‘叁’ 求java算法:根据物品的数量来确定抽奖的概率(当物品数量为0时无论如何都不可能选到)

public class Lottery {

private int m = 1000;//发放奖券的数量
private int n = 2;//奖品的数量

public boolean getLottery(){
boolean isLottery = false;
double d = (double)n/(double)m;//中奖概率
double r = Math.random();//0~1之间的随机数,包括0
if(r<d){//如果随机数小于概率 那么中奖
n--;//奖品数量-1
isLottery = true;
}
m--;//奖券数量-1
return isLottery;
}

}

‘肆’ 使用java语言编写一个抽奖系统

packagech07;

importjavax.swing.*;

publicclassTest2{


publicstaticvoidmain(String[]args){
Stringoutput="";

output+="恭喜第"+(1+(int)(Math.random()*100))+"号中了一等奖";
output+=" 恭喜第"+(1+(int)(Math.random()*100))+"号"+(int)(1+(Math.random()*100))+"号"+"中了二等奖";
for(inti=0;i<3;i++){
output+=" 恭喜第"+(1+(int)(Math.random()*100))+"号中了三等奖";
}
JOptionPane.showMessageDialog(null,output);
}

}

程序运行结果截图

中奖的人是随机的!

‘伍’ 跪求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,系统将会产生特等奖,获得者为制定人员的第一项,但是除了特等奖,不会再对其他人员有任何操作(相当于只能产生特等奖)。

其他一些说明读者自己去看程序,这里不再赘述。程序很简单(在后面的):

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

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

解决办法很多,

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

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

参考代码:数组法

importjava.util.Random;

publicclassTest{

publicstaticvoidmain(String[]args){
intstuNums=30;

int[]nums=newint[stuNums];//存储学号的数组
boolean[]flags=newboolean[stuNums];//标记,用于标记对应下标的学号是否已经被抽取过了
for(inti=0;i<stuNums;i++){
nums[i]=i+1;//给学号赋值
}

Randomr=newRandom();
while(true){
intindex=r.nextInt(stuNums);
if(!flags[index]){
System.out.println("A等:"+nums[index]);
flags[index]=true;//标记已经被使用过了
break;
}
}


for(inti=0;i<2;i++){
intindex=r.nextInt(stuNums);
if(!flags[index]){
System.out.println("B等:"+nums[index]);
flags[index]=true;
}else{
i--;//如果已经被抽取过了,那么i建议,再次循环
}
}

for(inti=0;i<3;i++){
intindex=r.nextInt(stuNums);
if(!flags[index]){
System.out.println("c等:"+nums[index]);
flags[index]=true;
}else{
i--;
}
}
}
}

集合法

importjava.util.ArrayList;
importjava.util.Collections;

publicclassTest2{
publicstaticvoidmain(String[]args){
intstuNums=20;
ArrayList<Integer>list=newArrayList<Integer>();
for(inti=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 模拟抽奖,输入4位数,如果这个四位数的百位数能够被3整除,就显示中奖

按照你的要求编写的Java模拟抽奖程序如下

importjava.util.Scanner;

publicclassF{

publicstaticvoidmain(String[]args){

System.out.print("请输入一个四位正整数:");

Scannersc=newScanner(System.in);

intn=sc.nextInt();

if(n/100%10%3==0){

System.out.println("你中奖了!");

}else{

System.out.println("你没中奖!");

}

}

}

阅读全文

与java抽奖程序源码相关的资料

热点内容
cat命令windows 浏览:904
python算术游戏 浏览:526
常微分方程第二版pdf 浏览:19
phpJava学多久 浏览:718
php博客毕业设计 浏览:793
数据库编程pdf 浏览:905
静态文件服务器腾讯云 浏览:848
怎么让安卓手机运行苹果软件 浏览:115
共同好友的算法 浏览:573
中央新闻台加密节目 浏览:29
软考初级程序员2021真题 浏览:360
小米电视如何开机自动进入app 浏览:281
为什么dns服务器ping不通 浏览:601
直播游戏签名源码 浏览:651
杭州云服务器搭建 浏览:634
mayapython中文 浏览:363
只狼加存档应该是哪个文件夹 浏览:115
程序员秃头图片 浏览:925
思科路由器命令手册 浏览:27
android获得当前activity 浏览:835