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一个模拟双色球的代码的更多相关文章

  1. 基于Java SE的模拟双色球彩票系统

    1.双色球规则: ①双色球分为红球和蓝球,红球选择的范围为1-33,而且红球选择6个数字:蓝球选择的范围为1-16,而且只能选择1个数字. ②选择方式为随机选择号码和手动输入选择号码. ③生成号码的顺 ...

  2. 用C#实现模拟双色球中奖程序 控制台应用程序

    前言 这是我在大一第一学期C#的课程设计,要求编写一个模拟双色球彩票的控制台应用程序,用以实现简单的模拟选购彩票. 一.双色球购号号码生成: 1.系统购号:通过"随机数"产生双色球 ...

  3. Mockito:一个强大的用于Java开发的模拟测试框架

    https://blog.csdn.net/zhoudaxia/article/details/33056093 介绍 本文将介绍模拟测试框架Mockito的一些基础概念, 介绍该框架的优点,讲解应用 ...

  4. java 添加一个线程、创建响应的用户界面 。 演示示例代码

    javajava 添加一个线程.创建响应的用户界面 . 演示示例代码 来自thinking in java 4 21章  部分的代码  夹21.2.11 thinking in java 4免费下载: ...

  5. Java模拟双色球彩票

    package practice1; import java.util.Random; import java.util.Scanner; public class Test3 { /** * * 模 ...

  6. Java判断一个字符是否是数字的几种方法的代码

    在工作期间,将写内容过程经常用到的一些内容段做个记录,下面内容是关于Java判断一个字符是否是数字的几种方法的内容,希望能对码农们有好处. public class Test{ public stat ...

  7. 为什么用 Java:一个 Python 程序员告诉你

    这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Ja ...

  8. 学了编译原理能否用 Java 写一个编译器或解释器?

    16 个回答 默认排序​ RednaxelaFX JavaScript.编译原理.编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能.我一开始学编译原理的时候就是用Java写了好多小编译器和 ...

  9. 用java实现一个简易编译器1-词法解析入门

    本文对应代码下载地址为: http://download.csdn.net/detail/tyler_download/9435103 视频地址: http://v.youku.com/v_show/ ...

随机推荐

  1. T-SQL编程 —— 用户自定义函数(内嵌表值函数)

    内嵌表值函数 接上 <T-SQL编程 -- 用户自定义函数(标量函数)> http://www.cnblogs.com/viusuangio/p/6212072.html 内嵌表值函数可以 ...

  2. Android微信智能心跳方案 (转)

    原创 2015-08-17 phoenix WeMobileDev 前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和W ...

  3. $.inArray()

    原文链接:http://www.css88.com/jqapi-1.9/jQuery.inArray/ jQuery.inArray( value, array [, fromIndex ] )返回: ...

  4. springmvc 解决跨域CORS

    import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import ja ...

  5. angularJS 学习之路

    AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一个 AngularJS 应用程序.也就是angularjs作用的入口  作用在什么标签或者整个body ...

  6. SQL函数之---DECODE函数

    Decode函数是oracle/SQL提供的特有函数计算方式,语法:DECODE(value,if1,then1,if2,then2,if3,then3,...else),通常我们在写语句的时候可能会 ...

  7. iedriverserver使用报错

    在win7下面使用IEdriverserver报错:   AttributeError: 'Service' object has no attribute 'process'   1,下载最新的ie ...

  8. 关于absolute 和 relative 定位的定义

    absolute的英文意思是绝对的意思,实际上是针对父级元素元素定位,如果父级元素没有position:relative|absolute,则追至再上一个父级元素,直至相对于文档的左上角定位,按照我们 ...

  9. Unity3D Layout 快捷键

    我的需求是开发的时候一种布局,运行的时候一种布局,Unity3D 选项中的自定义快捷键的太少,只能另想办法.Google 之后,找到解决方法:Editor layout hotkeys? 1.创建菜单 ...

  10. Discuz! X论坛上传附件到100%自动取消上传的原因及解决方案

    最近接到一些站长的反馈,说论坛上传附件,到100%的时候自己取消上传了.经查是附件索引表pre_forum_attachment表的aid字段自增值出现了问题,导致程序逻辑返回的aid值实际为一个My ...