java 双色球问题

/*
 * 7个球:
 *     红球:[1~33]    6    红球数字不能重复
 *     蓝球:[1~16]    1
 * 根据输入的注数n,打印出n注双色球
 * 要求打印时红球由小到大排序
 */
public class DoubleBall {
    public static void main(String[] args) {
        //创建Scanner对象
        Scanner sc = new Scanner(System.in);
        //提示
        System.out.println("请输入注数>");
        //接收输入
        int num = sc.nextInt();
        //关闭
        sc.close();
        for(int k = 0;k < num;k++){
            //定义一个数组,大小为7
            int[] balls = new int[7];
            //给数组赋值
            for(int i = 0;i < balls.length;i++){
                //产生红球数字
                if(i < balls.length - 1){
                    balls[i] = (int)(Math.random() * 33 + 1);
                    //与之前生成的元素进行比较
                    for(int j = 0;j < i;j++){
                        if(balls[j] == balls[i]){
                            i--;
                            break;
                        }
                    }
                }else{
                    balls[i] = (int)(Math.random() * 16 + 1);
                }
            }
            //红球数字排序
            for(int i = 0;i < balls.length - 1;i++){
                for(int j = i + 1;j < balls.length - 1;j++){
                    if(balls[i] > balls[j]){
                        int temp = balls[i];
                        balls[i] = balls[j];
                        balls[j] = temp;
                    }
                }
            }
            System.out.println(Arrays.toString(balls));
        }
    }
}
原文地址:https://www.cnblogs.com/wwjdx/p/6443757.html