双色球投注区分为红色球号码区和蓝色球号码区,红色球号码区由1-33共三十三个号码组成,蓝色球号码区由1-16共十六个号码组成。要求6个红球不能重复。
用java的Random生成中奖号码
package com.itheima.dome;
import java.util.Random;
public class Dome12 {
public static void main(String[] args) {
//利用java提供的Random方法取出6个红球一个蓝球放在arr数组里
int[] arr = arr();
//输出系统随机出的中号码
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
/**
* @return 返回一个长度为7的数组,前6个是1-33不重复的6个数,第七个是1-16的一个随机数
*/
public static int[] arr() {
int[] arr1 = new int[7];
Random r = new Random();
for (int i = 0; i < arr1.length - 1; ) {
int i1 = r.nextInt(33) + 1;
boolean flag = flag(arr1, i1);
if (!flag) {
arr1[i] = i1;
i++;
}
}
int i = r.nextInt(16) + 1;
arr1[arr1.length - 1] = i;
return arr1;
}
/**
* @param arr1 用于查找的数组
* @param i1 用于验证的数据
* @return 如果存在返回true, 如果不存在返回false
*/
public static boolean flag(int[] arr1, int i1) {
for (int i = 0; i < arr1.length; i++) {
if (i1 == arr1[i]) {
return true;
}
}
return false;
}
}
在上面的基础上,添加用户输入自己买的彩票号码(要求过滤掉用户输入的非法数据)
package com.itheima.dome;
import java.util.Random;
import java.util.S