题目: 双色球系统: 投注号码有6个红球(范围1-33)和1个蓝球(范围1-16)组成 一等奖:6红1蓝 1000万元 二等奖:6红0蓝 500万元 三等奖:5红1蓝 或 5红0蓝 3000元 四等奖: 4红1蓝 或 4红0蓝 500元 五等奖:3红1蓝 或 2红1蓝 100元 六等奖:1红1蓝 5元
分析:
该题分几个步骤来完成:
(1)生成中奖号码。
(2)获取用户的彩票号码。
(3)将中奖号码和用户的号码进行比对,判断用户是否中奖。
首先来看第一步:生成中奖号码。
定义一个方法createnumber用于生成中奖的号码。
1.首先需要定义一个长度为7的数组,用Random随机生成红球和蓝球的号码,并将红球和蓝球的号码存入数组中,注意红球的号码范围在1-33 并且不能重复,蓝球号码范围在1-16。
2.先存红球,为了让红球号码不重复,在每次生成随机数时要进行判断,判断该新生成的随机数是否已经在数组当中,此时可以再定义一个方法contain,遍历数组来判断输入的数字是否已经存在数组中,用boolean值接收,在createnumber方法中调用来判断红球是否重复。
3.然后存蓝球,此时需将蓝球存入数组最后一位,即最大索引6处。
然后进行第二步:获取用户的彩票号码。
定义一个方法getnumber用来得到用户输入的号码。
1.首先同样定义一个长度为7的数组。然后循环6次先进行红球的录入。用Scanner来分别录入每一次的号码,此时的号码需要限制:
**1**范围在1-33
**2**号码没有重复(可以继续调用contain方法来判断用户的输入是否有重复。)
如果符合再用i++进入下一轮数据存储,如果不符合输出文字提醒,i不能自增&