導航:首頁 > 源碼編譯 > 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抽獎程序源碼相關的資料

熱點內容
robinhood加密交易條件 瀏覽:310
衛生間解壓方法 瀏覽:450
u盤如何做加密文件放照片 瀏覽:327
文件夾自己加了exe 瀏覽:256
小豬cms直播系統源碼 瀏覽:876
山東廣電雲伺服器 瀏覽:349
javadate與mysqldate 瀏覽:242
javalong比較 瀏覽:9
加密大師看不見加密文件 瀏覽:305
想做一個業余程序員 瀏覽:791
python選出行 瀏覽:247
cat命令windows 瀏覽:908
python算術游戲 瀏覽:530
常微分方程第二版pdf 瀏覽:23
phpJava學多久 瀏覽:722
php博客畢業設計 瀏覽:794
資料庫編程pdf 瀏覽:905
靜態文件伺服器騰訊雲 瀏覽:848
怎麼讓安卓手機運行蘋果軟體 瀏覽:116
共同好友的演算法 瀏覽:573