【JAVA】数组练习之双色球

//声明一个方法,返回一个数组,这个数组中保存了一注双色球号
//6个红球 1-33之间 需要排序,实现去重
//1个蓝球 1-16之间
//蓝球号码放在数组中最后一位
//并在函数中打印出双色球号码的明细
//红球:1 2 3 4....;蓝球:12

int [] arr_dbnum=dbcolornum(); //调用方法
		System.out.print("红球:");
		for(int i=0;i<arr_dbnum.length;i++) //输出
		{   
		if(i<arr_dbnum.length-1)
		System.out.print(arr_dbnum[i]+" ");
		else
		System.out.print("蓝球: "+arr_dbnum[i]);
		}
public static int[] dbcolornum()
	{ 
	//赋初值
	int []dbnum1=new int [7];
	for(int i=0;i<7;i++)	
	{    if(i<6)
		dbnum1[i]=(int)Math.floor(Math.random()*33+1);
	    else dbnum1[i]=(int)Math.floor(Math.random()*16+1);
	}
		//查重
		int []dbnum2=dbnum1;
		for(int m=0;m<6;m++)
		{
			for(int n=m+1;n<6;n++)
			{  				
				//红球查重
				{
				while(dbnum1[m]==dbnum2[n])
                //查到重复值后重新生成一个随机数并且赋值,直到没有重复跳出循环
				{    System.out.println("重复的值是:"+dbnum1[m]+",在"+n+"位重复");
					dbnum1[n]=(int)Math.floor(Math.random()*33+1);
					dbnum2[n]=dbnum1[n];
			    }    
		        }
	       }
        }
		//冒泡排序
		int temp=dbnum1[0];
        for(int end=dbnum1.length-2;end>0;end--)
        {   
        	for(int k=0;k<end;k++)
        	{
        		if(dbnum1[k]>dbnum1[k+1])
        		{
        			temp=dbnum1[k];
        			dbnum1[k]=dbnum1[k+1];
        			dbnum1[k+1]=temp;
        		}

        	}
        }
		return dbnum1;	
		}
	

去重方法有漏洞,但目前解决不了,有可能在去重以后和遍历过的球重复但是几率比较小

冒泡排序后续学习附上链接----

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值