新手作业:用JAVA实现双色球彩票系统


package day05;


import java.util.Random;
import java.util.Arrays;


/**
 * 〈一句话功能简述〉<双色球> 〈功能详细描述〉
 */


public class doubleBallDemo {

    public static void main(String[] args) {
        Random rand = new Random();  //new一个随机方法,随机方法Random在java.util中
        
        // 红球方法
        int[] red = new int[5]; //定义一个int类型的数组,数组长度为5位
        red = arrayball(red);    //自定义一个方法(函数)从1-33中随机抽取5个无重复红球,并进行从小到大排序
        
        // 篮球方法
        int blue = rand.nextInt(16)+1; //从1-16中随机抽取一个篮球,*注意rand.nextInt(x)是[0,x)的集合,不包含x
        
        // 输出结果
        System.out.println("红球:"+Arrays.toString(red) +"  篮球:"+ blue); //Arrays.toSrting 将数组内容转换成字符串
    }


    /**
     * 功能描述: <从1-33中随机抽取5个无重复红球,并进行从小到大排序> 〈功能详细描述〉
     *
     * @param red
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    private static int[] arrayball(int[] red) {  //返回类型和参数类型要注意,这里都是int


        for (int i = 0; i < red.length; i++) {     //第一层循环
            Random rand = new Random();
            int temp = 0;                                     //定义一个临时变量
            int k = rand.nextInt(33)+1;            //取1-33随机数赋值
            for(int a= 0; a<=i; a++){                //第二层循环判断是否重复
                if(k != red[a]){
                    red[i] = k;                                  //判断k的值与当前red数组值不同才赋值
                }
            }                                                         //第二层循环结束
                
            temp =red[i];                                   //临时赋值准备排序
            for(int j =i-1; j>=0 && temp < red[j]; j--){  //另一个第二层循环用于排序,用temp和red[j]进行比较
                red[j+1] = red[j];                                          //循环赋值            
                red[j] = temp;
            }
            
        }
        return red;                                                            //返回arrayball方法的参数


    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值