【用java写的】双色球中奖模拟器

双色球,6个红球,1个蓝球,而且红球中的数据不能重复,红球的数字范围为1-33,蓝球的数字范围为1-16。

然后我们作为彩民,自己买号,在模拟器中则自己依次输入每个球对应的号码,最后开奖的时候判断我们中了多少。

双色球中奖规则:

【用java写的】双色球中奖模拟器

我当时看到这个案例,感觉很麻烦,首先我认为最难搞的方面是,生成红球的随机数,这个数我网上查了一下,双色球的数字是不能重复的,那么我就得要生成不同的6个随机数,然后存到数组里。怎么实现,当时我还在想。

后来我就先把程序的功能先分块:

1.随机生成中奖号码,定义一个数组长度为6的int 类型的数组存红球的号码,且红球的数组中数据不能有相同的,定义数组长度为1的数组来存蓝球号码。

2.用户也是我,依次输入我的红球号码和蓝球号码。

3.统计结果,双色球要顺序和数字都相同才算有效,也就是说,数组的索引和索引对应的数据都要相同才可以。

4.判断结果。

然后我就开始写

第一部分

在其中我调用了一个有返回值的方法,用来判断随机数是否重复的,这是我认为最难的地方,但是我也想出来了哈哈哈。方法是这样的:

 返回一个boolean类型,然后i++放在,if语句中,就表示随机数一直生成,到这个随机数在数组中没有相同的时候就存入数组中,然后才能 i 自增到数组中下一位循环。在这里我设了随机数的范围是1-33.

第二部分

简单的遍历数组,然后给数组塞数据,逐个塞进去,定义了2个数组来存我自己输入的数据,然后后面就可以和之前随机生成的中奖号码的两个数组(一个红球的,一个蓝球的)进行比较。(索引相同的数据也相同才算有效)

第三部分 

判断两个数组有几个数据相同,再定义一个计数器来统计相同的个数就完事了,那么我又要比红球的,又要比蓝球的,这两种是重复的工作,我当时就定义了一个方法,输入要比较的两个数组,就可以返回他们有几个相同索引数据也一样的元素。

第四部分

就是判断结果了,依照上图的规则,用if语句就可以了,然后我就也定义了一个方法,只要输入红球中的数和蓝球中的数,便可返回几等奖。

再调用一下方法

总体的程序是这样的:

来源:一支猫咔qly

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月10日
下一篇 2022年4月10日

相关推荐