简单的双色球生成

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Random;

 

/**

 * 双色球生成系统

 * 

 * @author chried

 * 

 */

public class ShuangseQiu {

public static void main(String[] args) {

System.out.println(Input());

}

 

/**

* 随机产生六个红球

* @return

*/

public static List<Integer> ProRedBall() {

List<Integer> li = new ArrayList<Integer>();

Random rd = new Random();

for (int i = 0; i < 6; i++) {

li.add(rd.nextInt(33));

}

if (Check(li)) {

return Sequence(li);

}

System.out.println("产生了重复的数字,程序将重新生成");

return ProRedBall();

}

 

/**

* 判断生成的数字有没重复的

* @param li

* @return true:没有重复的 false:有重复的

*/

public static boolean Check(List<Integer> li) {

for (int i = 0; i < li.size(); i++) {

if (li.get(i) == 0) {

System.out.println("0为无效数字");

return false;

}

}

int count = 0;

for (int i = 0; i < li.size(); i++) {

for (int j = 0; j < li.size(); j++) {

if (li.get(i) == li.get(j)) {

count++;

}

}

}

if (count == li.size()) {

return true;

}

return false;

}

 

/**

* 产生蓝色球

* @return

*/

public static int ProBlueBall() {

Random rd = new Random();

int blueNum = rd.nextInt(16);

if (blueNum == 0) {

System.out.println("0为无效数字");

return ProBlueBall();

}

return blueNum;

}

 

/**

* 对产生的红球进行排序

* @param li

* @return

*/

public static List<Integer> Sequence(List<Integer> li) {

Collections.sort(li);

return li;

}

 

/**

* 生成双色球号码

* @return

*/

public static List<Object> Input() {

List<Object> li = new ArrayList<Object>();

li.add("红色球为");

li.add(ProRedBall());

li.add("蓝色球为");

li.add(ProBlueBall());

return li;

}

}

你可能感兴趣的:(生成)