Java学习:用方法改写双色球系统2.0版本

  • A+
所属分类:后端开发

简单的学习了方法,对其概念有了一定的了解。今天对双色球系统结合前面所学进行简单的更新,如果需要相关注释请看《双色球系统1.0版本》。本人小白,正在学习,请多多赐教!!

代码如下:

package cn.yflad.javase;

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

public class Demo4_Ball1_Public {
	static int[] ball = new int[6]; //定义一个6位元素的数组
	static Random r = new Random(); //创建一个随机数
	static int index = 0;           //假设球的数组下标为index
	
	public static void main(String[] args) {
		ball[index++]=r.nextInt(33)+1;  //ball 数组的每个下标的数值都是1-33随机,此时,已经产生第一个ball[0]
		//System.out.println(Arrays.toString(ball));
		
		//获取剩余五个随机数
		while (true) {
			redball();
			if (index==6) {   //当index的值=6的时候,跳出最近的循环,<此处为while>
				break;
			}
		}
		//System.out.println(Arrays.toString(ball)); ////按获取顺序,输出获取到的6个随机数<红色号码球>

		Arrays.sort(ball);    //冒泡排序
		
		blueball();  //蓝色球球,并扩容
		System.out.println("本期双色球号码是:"+Arrays.toString(ball));
	}
	
	//生成剩余5个红色的球球
	public static void redball(){
		int temp = r.nextInt(33)+1; //定义一个临时变量,取值1~33
		boolean flag=false;
		
		for (int i = 0; i < ball.length; i++) {
			if (ball[i]==temp) {  //如果临时变量temp的值==ball[i]的值,那么进入循环,如果不等于,则跳出循环往下执行
				flag = true;
				break;
			}
		}
		if (!flag) {   //!flag的值:如果flag的值是false,则!flag==true;如果flag的值为true<执行语句块>,则!flag==false<不执行语句块>
			ball[index++] = temp;  //将temp赋值给ball数组
		}
	}
	
	
	//生成一个蓝色的球球(1~16)
	public static void blueball(){
		int blue = r.nextInt(16)+1;  //获取蓝色号码球,定义蓝色号码球只能是1-16
		ball = Arrays.copyOf(ball, ball.length+1);  //给原数组扩容一位
		ball[ball.length-1] = blue;  //将蓝色号码球赋值给数组的最后一位
	}
}
  • 扫扫关注公众号
  • weinxin
  • 扫扫体验小程序
  • weinxin
亦枫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: