java抽奖程序
public String[] findluckMen(String[] data , int n){
Random random = new Random();
int len = data.length;
String[] luckmen = new String[len];
for(int i=0;i亮缺咐敬纯扮帆len;i++){
int index = random.nextInt(len);
luckmen[i] = data[index ];
}
return luckmen;
}
java抽奖程序一定要用线程吗
一定要用线程,首先,我们先来分析一下如何才能做到让屏幕上的数字不停的变化,这就需要使用线程了,当我槐模行们开始抽奖的按钮的时候,线程启动,此时屏幕铅哗上的数字开始滚动。当我们点击结束按钮的时候,线程终码段止,此时就可以显示出抽奖结果了。
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));
}
}
用swing编写一个java抽奖的程序,至少有5个按钮,显得高大上一点。
#8205;
import java.awt.Color;//界面不是很高大上档次,但是能满足你的基本需求,希望对你薯谈源有用
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
public class 抽奖游戏 extends JFrame {
static 抽奖游戏 frame;
public 抽奖游戏() {
setLayout(new GridLayout(3, 3, 3, 3));
Border border = new LineBorder(Color.BLUE, 4);
JButton l1 = new JButton();
JButton l2 = new JButton();
JButton l3 = new JButton();
JButton l4 = new JButton();
JButton l5 = new JButton();
JButton l6 = new JButton();
JButton l7 = new JButton("祝你好运");
JButton l8 = new JButton("中奖规则");
JButton l9 = new JButton("再次抽奖");
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(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "游戏规则:\n" + "特等奖:\n"
数态 + "第一行或者第二行出现的数字全部相同\n"
+ "第一第二行出现升序的1,2,3,4,5,6或者降序的6,5,4,3,2,1\n" + "一等奖\n"
+ "1:第一行或第二行的数字降序排列或者升序排列\n"
+ "2:第一行或者第二行相邻的按钮出现一样的数字\n");
}
});
l9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
l1.setText("*");
l2.setText("*");
l3.setText("*");
l4.setText("*");
侍没 l5.setText("*");
l6.setText("*");
l7.setBackground(Color.lightGray);
l7.setText("离中奖不远了!");
}
});
l6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (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("特等奖");
} else if (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(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (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("特等奖");
} else if (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(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (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("特等奖");
} else if (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(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (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("特等奖");
} else if (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(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (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("特等奖");
} else if (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(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (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("特等奖");
} else if (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("未中奖,加油!");
}
}
});
Font font = new Font("", 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);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
frame = new 抽奖游戏();
frame.setTitle("抽奖大战");
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
求一份抽奖游戏(Java写的代码)
import java.util.Scanner;
/**
*
*/
public class f {
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
System.out.print("请输入抽奖号码上限:");
渣卖蔽 int max = scan.nextInt();
System.out.print("请输入抽奖次数:"配碧);
int n = scan.nextInt();
System.out.print("中奖号码依次为:");
for(int i=0;in;i++){
System.out.print((int)(Math.random()*max+1)+" ");
如州 }
}
}
java语言实现一个摇号系统,但是可以内部设定中奖名单这个怎么实现?
1、简单控制台程序如下,如需界面需要自己加个。
package zhidao;
import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
/**
* @author bufei
* @datetime 2020年8月31日15:54:11
*/
public class YaoHao {
public static void main(String[] args) {
String xian = "= = = = = = = = =";
// 起点 终点 奖个数 配升困 指定的号码个数
int start = 0, end = 0, prizeNum = 0, defaNum = 0;
System.out.println(xian);
System.out.println("欢培念迎使用xxx 抽奖系统!");
System.out.println(xian);
Scanner scanner = new Scanner(System.in);
System.out.println("请输入号码范围例如 1 10:");
start = scanner.nextInt();
end = scanner.nextInt();
System.out.println("请输入奖项个数:");
prizeNum = scanner.nextInt();
System.out.println("请输入指笑中定中奖号码个数,不指定请输入0:");
defaNum = scanner.nextInt();
int[] defa = new int[defaNum];
if (defaNum != 0) {
System.out.println("请输入指定的中奖号码,空格隔开:");
for (int i = 0; i defaNum; i++) {
defa[i] = scanner.nextInt();
}
}
System.out.println(xian);
System.out.println("本次抽奖中奖号码为:");
for (int num : randomDraw(start, end, prizeNum, defa)) {
System.out.print(num+" ");
}
}
/**
* @param start 抽奖范围起点
* @param end 抽奖号码范围终点
* @param prizeNum 中奖号码个数
* @param defa 指定中奖号码
* @return
*/
public static SetInteger randomDraw(int start, int end, int prizeNum, int[] defa) {
SetInteger set = new HashSet();
// 未指定中奖号码
if (defa.length == 0) {
//随机抽 prizeNum 个奖
while (set.size() prizeNum) {
set.add(new Random().nextInt(end - start + 1) + start);
}
return set;
} else {
//指定了中奖号码
//把指定的号码加入进去
for (int num : defa) {
set.add(num);
}
//如果没有全部指定 则继续抽剩余的奖项
while (set.size() prizeNum - defa.length) {
set.add(new Random().nextInt(end - start + 1) + start);
}
return set;
}
}
}
2、运行效果如图
未指定中奖号码