首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java项目实践,Java制作33选7彩票号码生成器

Java项目实践,Java制作33选7彩票号码生成器

作者头像
用户1289394
发布2021-04-20 11:06:22
发布2021-04-20 11:06:22
1.7K0
举报
文章被收录于专栏:Java学习网Java学习网

33选7彩票号码生成器

**作一个界面。两个按钮,一个JLabel,点开始按钮后,彩票33选7(1……33中选7个不重复的数),把7个数字拼接到JLabel中显示出来,点结束按钮停止。

提示:java.util.Random 参考 nextInt函数

借助集合实现。 随机彩票生成,每0.5秒一次。

**运用到的知识:用两个数组实现多个不重复的随机数的产生;Timer类及其方法的使用(Timer类封装了线程);事件的监听。

package classic3IOAndThread; import java.util.Arrays; import java.util.Random; import java.awt.*; import java.awt.event.*;

import javax.swing.*; public class LotteryMachine implements ActionListener { int[] rArrayCopy = new int[7]; JLabel jl2 = new JLabel("请点击开始按钮"); Timer timer=new Timer(500,this);//实例化一个计时器,它是一个线程,可以每500毫秒,重复自动点击"开 始"菜单 @Override public void actionPerformed(ActionEvent e) { String str = e.getActionCommand(); if (" 开 始 ".equals(str)) { RandomNumberProducer(); jl2.setText(Arrays.toString(rArrayCopy)); timer.start(); timer.setActionCommand(" 开 始 ");//给timer指定需要重复点击的是”开始“菜单 } else if ("结束".equals(str)) { timer.stop(); } } public LotteryMachine() { RandomNumberProducer(); GUIProducer(); } public void RandomNumberProducer() { // 1……33中选7个不重复的数 Random random = new Random(); // r stand for a random number from 1 to 33. // index stand for 数组下标. // if we get a number r, we put it into rArray[r-1](=rArray[index]) // then we let bArray[index]=true, // it means there is already a number in rArray[index] int r = 0, index = 0; int countNumber = 0; int[] rArray = new int[33]; boolean[] bArray = new boolean[33]; while (countNumber < 7) { r = (random.nextInt(33) + 1); index = r - 1; if (bArray[index] != true) { rArray[index] = r; bArray[index] = true; rArrayCopy[countNumber] = r; countNumber++; } } } public void GUIProducer() { JFrame jf = new JFrame(); jf.setLayout(new GridLayout(3, 1)); JPanel jp1 = new JPanel(); jf.add(jp1); JLabel jl1 = new JLabel(); jl1.setText(" 33选7彩票号码生成器"); jp1.add(jl1); JPanel jp2 = new JPanel(); jp2.add(jl2); jf.add(jp2); JPanel jp3 = new JPanel(); jf.add(jp3); JButton jb31 = new JButton(" 开始 "); jb31.addActionListener(this); JButton jb32 = new JButton("结束"); jb32.addActionListener(this); jp3.add(jb31);jp3.add(jb32); jf.setSize(360, 170); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new LotteryMachine(); } }

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档