java day2一个模拟双色球的代码
package day2;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.MouseAdapter;
import java.util.Random;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
//继承
public class day2_c extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1L;
public int[] Rednumber = {0,0,0,0,0,0,0};
public int[] checknum = new int[7];
Random mrRandom = new Random();
boolean Ischange = false;
boolean state = false;
public int counterrun = -1;
public static void main (String args[])
{
JFrame myFrame = new JFrame("NEF");
myFrame.setSize(1200, 650);
myFrame.setDefaultCloseOperation(2);
myFrame.setLocationRelativeTo(null);
myFrame.setResizable(false);
day2_c mypanel = new day2_c();
myFrame.add(mypanel);
myFrame.setVisible(true);
mypanel.changeN();
}
public void paint(Graphics myg)
{
//画点击口
myg.setColor(Color.orange);
myg.fillRect(550, 50, 100, 50);
myg.setFont(new Font("楷体", 1,25));
myg.setColor(Color.BLACK);
myg.drawString("点击开始", 547, 80);
//画红球
int x_axis = 100;
int y_axis = 250;
myg.setColor(Color.red);
for(int i = 0; i < 6; i++)
{
myg.fillOval(x_axis, y_axis, 100, 100);
x_axis += 150;
}
myg.setColor(Color.blue);
myg.fillOval(1000, 250, 100, 100);
//是否change
if(Ischange)
{
//画数字
int T_axisX = 125;
int T_axisY = 320;
int nud = 0;
for(int i = counterrun; i < 6; i++)
{
nud = mrRandom.nextInt(33) + 1;
for(int h = 0; h < i; h++)
{
if(nud == Rednumber[i])
{
i--;
break;
}
}
Rednumber[i] = nud;
}
Rednumber[6] = mrRandom.nextInt(16) + 1;
myg.setFont(new Font("", 1, 45));
myg.setColor(Color.GREEN);
for(int i = 0;i < 7;i++)
{
if(Rednumber[i] % 10 == 0)
{
myg.drawString(" " + Rednumber[i],T_axisX , T_axisY);
}
else{
myg.drawString("" + Rednumber[i],T_axisX , T_axisY);
}
T_axisX += 150;
}
//myg.drawString(""+Rednumber[6], T_axisX, T_axisY);
}
}
public void changeN()
{
MouseAdapter MA = new MouseAdapter() {
public void mouseClicked(MouseEvent e)
{
int x = e.getX();
int y = e.getY();
if(x > 550 & x < 650 & y > 50 & y < 100 )
{
Ischange = true;
//repaint();
}
}
};
addMouseListener(MA); //鼠标时间的监听实际上是和main函数main线程分开的
//监听是简单事件,无法执行循环
for(int i = 0; i < 140; i++)
{
try{
Thread.sleep(50);
}
catch(Exception e3){
e3.printStackTrace();
}
if(i % 20 == 0)
{
counterrun ++;
}
repaint();
}
counterrun = 0;
}
}
程序有bug,目前还没有找到好的解决办法,有兴趣的可以留言,我发老师的代码,实现的过程不太一样
本来还有一个小功能是排序的,但是太简单了,就没写,,,,一直和bug斗争,就一冒泡排序。
有人愿意帮我解决一下这程序的bug不。。。
java day2一个模拟双色球的代码的更多相关文章
- 基于Java SE的模拟双色球彩票系统
1.双色球规则: ①双色球分为红球和蓝球,红球选择的范围为1-33,而且红球选择6个数字:蓝球选择的范围为1-16,而且只能选择1个数字. ②选择方式为随机选择号码和手动输入选择号码. ③生成号码的顺 ...
- 用C#实现模拟双色球中奖程序 控制台应用程序
前言 这是我在大一第一学期C#的课程设计,要求编写一个模拟双色球彩票的控制台应用程序,用以实现简单的模拟选购彩票. 一.双色球购号号码生成: 1.系统购号:通过"随机数"产生双色球 ...
- Mockito:一个强大的用于Java开发的模拟测试框架
https://blog.csdn.net/zhoudaxia/article/details/33056093 介绍 本文将介绍模拟测试框架Mockito的一些基础概念, 介绍该框架的优点,讲解应用 ...
- java 添加一个线程、创建响应的用户界面 。 演示示例代码
javajava 添加一个线程.创建响应的用户界面 . 演示示例代码 来自thinking in java 4 21章 部分的代码 夹21.2.11 thinking in java 4免费下载: ...
- Java模拟双色球彩票
package practice1; import java.util.Random; import java.util.Scanner; public class Test3 { /** * * 模 ...
- Java判断一个字符是否是数字的几种方法的代码
在工作期间,将写内容过程经常用到的一些内容段做个记录,下面内容是关于Java判断一个字符是否是数字的几种方法的内容,希望能对码农们有好处. public class Test{ public stat ...
- 为什么用 Java:一个 Python 程序员告诉你
这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Ja ...
- 学了编译原理能否用 Java 写一个编译器或解释器?
16 个回答 默认排序 RednaxelaFX JavaScript.编译原理.编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能.我一开始学编译原理的时候就是用Java写了好多小编译器和 ...
- 用java实现一个简易编译器1-词法解析入门
本文对应代码下载地址为: http://download.csdn.net/detail/tyler_download/9435103 视频地址: http://v.youku.com/v_show/ ...
随机推荐
- Try to write a script to send e-mail but failed
#-*-coding: utf-8 -*- '''使用Python去发送邮件但是不成功,运行后,等待一段时间, 返回[Errno 10060] A connection attempt failed ...
- SQLite一些函数用法
--格林威治日期时间,比北京时间晚8小时 select datetime('now'); --格林威治日期 select date('now'); --本地时间 select time('now',' ...
- es6还欠完善的地方
const的可变性 const用于声明常量. 什么是常量,声明后的值不可更改. 对于值类型,比如string,number等等.const声明确实有效. const str = "strin ...
- 为什么JAVA的垃圾回收机制无法避免内存泄漏
一.本文参考: 1.<深入理解java虚拟机 JVM高级特性与最佳实践> 2.http://coderevisited.com/memory-leaks-in-java/ ...
- mybatis入门_配置文件的配置
一.全局配置文件配置 1.1 properties标签 Properties标签可以用来加载配置文件.例如,我们可以将数据库的连接信息放入到一个配置文件(db.properties中..) 下为db. ...
- LD_LIBRARY_PATH的设定
LD_LIBRARY_PATH的设定 变量LD_LIBRARY_PATH 是用来在Linux下设置动态链接库(*.so)的查找路径,我们一般情况下都需要在运行一个带有动态链接库的程序是运行 exp ...
- stopping NetworkManager daemon failed
1 初次安装NetworkManager时发现,无法将这个服务关闭 2 上网找了一圈,也没找到原因 3 重启服务器后就能正常关闭了 4 将该服务删除重装也能正常关闭 5 下回重装系统时再观察一下
- php gettext 注释
//setlocale(LC_ALL, "en_US.UTF-8"); setlocale(LC_ALL, "zh_CN.UTF-8"); bindtextdo ...
- Web开发中管理ipad屏幕的方向变化
Web开发中,我们会遇到在手机垂直或水平视角时展示不同状态的情况.下面我来总结一下检测移动设备方向变化的一些方法. 1 使用javascript 直接看代码: <script type=&quo ...
- BADI_MATERIAL_CHECK(物料主数据表的增强检查)
多次调用的BADI,'业务加载项定义的多重使用意味着可以有多个活动的 业务加载项实施.在进行调用时,将调用所有上述实施,但调用顺序不可预期. 因此,如果使用多重使用 业务加载项定义,那么顺序不得起到任 ...