类似产生双色球号码功能的代码

功能描述:

六个红球+一个蓝球,其中红球的数字范围在1-33;蓝球数字范围在1-16;而且七个数字都不能重复。

粗略代码如下:

package com.nhu;

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

public class Solution {

	public static void main(String[] args) {
		int[] a = new int[7];//创建数组,用于存储产生的随机数
		
		Random rand = new Random();
		
		//为了方便,我们先生产蓝球的随机数
		int blueNum = rand.nextInt(16)+1;
		a[0] = blueNum;
		
		for (int i=1; i<a.length; i++) {
			int redNum = rand.nextInt(33)+1;//用于生产红球随机数
			boolean isRepeat = false; //用于判断是否存在重复值,有为true.
			for (int num : a) {
				if (redNum == num) {//如果该随机数和数组中数字相同,则重新产生随机数
					i--;
					isRepeat = true;
					break;
				}
			}
			if (!isRepeat) {
				a[i] = redNum;
			}
		}
		
		System.out.println("产生的双色球号码如下:");
		for (int finalNum : a) {
			System.out.print(+finalNum+" ");
		}
		
		//或者可以如下打印输出数组
		System.out.println(Arrays.toString(a));
	}
}

提示:二维数组的直接输出方法是System.out.print(Arras.deepToString(a));//a为二维数组名字


猜你喜欢

转载自blog.csdn.net/weixin_39085109/article/details/80187645