模拟双色球,完整地代码

import java.util.Random;
import java.util.Scanner;

public class doubleColorBall {
    public static void main(String[] args) {
        //6个红色球和1个蓝色球号码组成,红色球从1-33中选择,蓝色球从1-16中选择
        //题目逻辑 随机生成购买的号码,和一个中奖的号码
        //再去判断中的几等奖
        /* 6红 1> 1蓝 ----一等奖
               2> 0蓝------二等奖
           5红 三等奖
           4红 + 1蓝 四等奖
           4红 + 0 蓝 五等奖
           3红 + 1蓝 五等奖
           2红 + 1蓝 五等奖
           1红 + 1蓝 六等奖
           0红 + 1蓝 六等奖
         */
        Scanner sc = new Scanner(System.in);
        System.out.println("需要购买彩票吗?需要请输入1,不需要请输入0");
        int x = sc.nextInt();
        int [] arr = new int[7];
        if(x == 1){
                arr = RandomArr();
        }
        int[] awordArr = RandomArr();
        int RedBall = CompleArr(arr,awordArr);
        int blueBall =0;
        if(arr[6] == awordArr[6]){
            blueBall = 1;
        }
        System.out.println("您中奖的球数为:"+"红球:" +RedBall+"蓝球:"+blueBall);
        if(BooleanAword(RedBall,blueBall) != 7) {
            System.out.println("恭喜您中了" + BooleanAword(RedBall, blueBall) + "等奖!");
        }else{
            System.out.println("很遗憾,您没有中奖");
        }
    }
    public static int[] RandomArr(){
        int[] arr = new int[7];
        Random ra = new Random();
        for (int i = 0; i < arr.length-1; i++) {
            arr[i] = ra.nextInt(33) +1;
        }
        arr[6] = ra.nextInt(16) +1;
        return arr;
    }
    public static int CompleArr(int [] arr1,int [] arr2){
        int count = 0 ;
        for (int i = 0; i < arr1.length-1; i++) {
            if(arr1[i] == arr2[i]){
               ++count;
            }
        }
        return count;
    }

    public static int BooleanAword(int a,int b){
        if(a == 6 && b == 1){
            return 1;
        } else if (a == 6 && b == 0) {
            return  2;
        }else if(a == 5){
            return 3;
        } else if (a == 4 && b ==1) {
            return 4;
        } else if (a ==4 && b ==0) {
            return 5;
        } else if (a == 3 && b ==1) {
            return 5;
        } else if (a == 2 && b ==1) {
            return 5;
        } else if (a ==1 && b==1) {
            return 6;
        }else if (a ==0 && b==1){
            return 6;
        }else{
            return 7;
        }
    }
}

看看大家有没有中奖的哦~~~~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
http://blog.sina.com.cn/s/blog_4cd4ffc401018xbx.html vb编写双色球号码生成小程序源码 需要3个label,用来显示相应信息;两个文本框,一个显示生成的号码,一个用来设置号码数量;两个按钮,一个用来开始生成,一个用来复制生成的号码。完整代码如下: '首先声明一个生成号码的函数用于调用 Sub 生成() 'vb的函数名称可以用汉字的,呵呵 Dim n(1 To 33), i, j, q, p '定义变量 For i = 1 To 33 n(i) = 0 Next j = 0 Randomize Timer '防止随机数重复 While j < 6 '生成6个红球号码 q = Int(Rnd(1) * 33 + 1) '红球号码为01到33 If q < 10 Then '判断是否是小于10 q = 0 & q '小于10则在前面加0 End If If n(q) = 0 Then Text1.Text = Text1.Text & q & " " '生成后写入文本框,各球中间用1个空格隔开 n(q) = 1 j = j + 1 End If Wend '红球已经生成完毕了,下面是蓝球,同红球 Randomize Timer p = Int(Rnd(1) * 16 + 1) If p < 10 Then '判断是否是小于10 p = 0 & p '小于10则在前面加0 End If Text1.Text = Text1.Text & " " & p & vbCrLf '红球和蓝球联合起来,用两个空格隔开,末尾加上换行符,以便于生成多个号码 End Sub Private Sub Command1_Click() '使用Clipboard来实现复制到剪贴板功能 Clipboard.Clear Clipboard.SetText Text1.Text End Sub Private Sub Command2_Click() '我们在界面加上一个显示生成时间的小东西 Dim s, t, k s = Timer '开始生成 Text1.Text = "" '先清空文本框 k = 0 While k < Val(Text2.Text) '按照需要来生成所需数量的号码 Call 生成 k = k + 1 Wend t = Timer '生成结束 Label2.Caption = "用时" & t - s & "秒" '显示生成时间 End Sub Private Sub Form_Load() '在load里面设置一下文本框内容 Text1.Text = "" Text2.Text = 5 End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱喝零度可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值