双色球的分析解题思路
前言
本系列是我自己关于遇到过的编程题目进行的分析思路总结,希望能够帮助到需要帮助的那些需要帮助的编程小白,同时也欢迎各位前辈予以指正和批评指导,谢谢。
题目:
玩法规则:“双色球”每注投注号码由6个红色球号码和1个蓝色球号码 组成。红色球号码从1—33中选择,蓝色球号码从1—16中选择。 球的数字匹配数量和颜色决定了是否中奖,具体中奖规则:
个人初步分析
- 定义1个长度为6一维数组redBallRandom和1个数blueBallRandom
- 系统随机生成6个数和1个数并分别赋予redBallRandom和blueBallRandom
- 用户输入一个1个长度为6一维数组redBall和1个数blueBall
- 输入可采用单次输入查找一次数据或一次性输入通过循环查找数据
- 可通过if-else-if结构或switch结构来进行中奖判断
个人解题思路
第一步
系统随机生成6个数组成一个长度为6的一维数组redBallRandom,再随机生成1个数blueBallRandom
并且在随机生成数字时判断是否重复,如果重复则重新生成一个数
int[] redBallRandom = new int[6];
int blueBallRandom;
for(int i=0;i<redBallRandom.length;i++) {
redBallRandom[i] = (int) (Math.random()*33+1);
for(int j=0;j<i;j++) {
if(redBallRandom[i] == redBallRandom[j]) {
i--;
}
}
}
blueBallRandom = (int) (Math.random()*16+1);
第二步
用户输入长度为6的一维数组redBall和一个数值blueBall
int[] redBall = new int[6];
int blueBall;
System.out.println("请输入6个红球编号");
Scanner input1 = new Scanner(System.in);
for(