用Java写的福彩双色球彩票生成器
直接贴上代码
</pre><p></p><p> <pre name="code" class="java">package com.wenbo.progrem.day04;
import java.util.Arrays;
import java.util.Random;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RedBlueBall implements ActionListener {
/**
* @param args 从33个数字里面选择6个作为红色球,从16个数字里面选择1个作为蓝球,每次生成一张彩票
*/
JFrame jf = new JFrame("双色球彩票生成机");
JLabel jl1,jl2,jl3;
JTextField jtf1,jtf2;
JButton jb1,jb2,jb3;
public RedBlueBall(){
jf.setLayout(new GridLayout(3,1));
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
jl1=new JLabel("红球:");
jl2=new JLabel("蓝球:");
jl3=new JLabel("福彩“双色球”摇奖机");
jtf1=new JTextField(12);
jtf2=new JTextField(2);
jb1=new JButton("开始");
jb2=new JButton("取消");
jb3=new JButton("重选");
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jp1.add(jl1);
jp1.add(jtf1);
jp1.add(jl2);
jp1.add(jtf2);
jp2.add(jb2);
jp2.add(jb3);
jp3.add(jl3);
jp3.add(jb1);
jf.add(jp3);
jf.add(jp1);
jf.add(jp2);
jf.setSize(300,180);
jf.setLocation(100, 200);//设置出现在屏幕的位置
jf.setVisible(true);//设置可见
//jf.setResizable(false);//不可改变大小
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点X关闭
}
public static void main(String[] args) {
new RedBlueBall();
}
public void actionPerformed(ActionEvent e) {
String comm = e.getActionCommand();
if("开始".equals(comm)){
jtf1.setText("");
jtf2.setText("");
int[] ticket=new int[6];//定义一个数组存放红球
Random r=new Random();
int no=0;//产生红球
int no2=r.nextInt(16)+1;//产生蓝球号码
int count=0;//记录彩票数
while(count<6){
boolean flag=true;
no=r.nextInt(33)+1;
for(int i=0;i<count;i++){
if(ticket[i]==no){//如果随机数和彩票数组里面的数字相同,跳出
flag=false;
break;
}
}
if(flag){
ticket[count]=no;//如果不同,把随机数放入数组
count++;
}
}
Arrays.sort(ticket);//把产生的号码排序
for(int i=0;i<ticket.length;i++){
String temp=jtf1.getText();
jtf1.setText(temp+"-"+ticket[i]);
}
jtf2.setText(no2+"");
}else if("取消".equals(comm)){
jtf1.setText("");
jtf2.setText("");
}else if("重选".equals(comm)){
jtf1.setText("00-00-00-00-00-00");
jtf2.setText("00");
JOptionPane.showMessageDialog(null,"奖池已清空,请按开始按钮继续!");
jtf1.setText("");
jtf2.setText("");
}
}
}