import java.util.ArrayList;
创新互联是专业的许昌网站建设公司,许昌接单;提供成都网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行许昌网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
import java.util.List;
import java.util.Random;
/**
* 实现随机抽取,例如35选7等
*
* @author Administrator
*
*/
public class RandomSelect {
public static int[] randomSelect(int total, int number) {
int[] result = new int[number];
ListString list = new ArrayListString();
Random r = new Random();
for (int i = 0; i total; i++) {
list.add(i + 1 + "");
}
for (int j = 0; j number; j++) {
int size = list.size();
String s = list.get(r.nextInt(size));
result[j] = Integer.parseInt(s);
list.remove(s);
}
return result;
}
public static void main(String[] args) {
int[] red = randomSelect(33, 6);
int[] blue = randomSelect(16, 1);
System.out.println("红球是:");
for (int i = 0; i red.length; i++) {
System.out.print(red[i] + "\t");
}
System.out.println("\n蓝球是:");
for (int i = 0; i blue.length; i++) {
System.out.println(blue[i] + "\t");
}
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
public class Main {
static Random r = new Random();
public static void main(String[] args) {
System.out.println("---------500W 我来啦----------");
int 注数 = 10000 ;
for (int n = 0; n 注数; n++) {
摇奖();
}
System.out.println("---------500W 我来啦----------");
}
public static void 摇奖(){
//红球是1-32 篮球是1-16
ArrayListInteger list1 = new ArrayListInteger();
ArrayListInteger list2 = new ArrayListInteger();
int[] redBalls = new int[6];
for (int j = 0; j 32; j++)
list1.add(j + 1);
for (int i = 0; i 16; i++)
list2.add(i + 1);
// 红球
System.out.print("红球:");
for (int k = 0; k 6; k++) {
int indexRed = r.nextInt(list1.size());
redBalls[k]=list1.get(indexRed);
list1.remove(indexRed);
}
Arrays.sort(redBalls);//排序后打出红球
for(int s = 0 ; s redBalls.length ; s++){
System.out.print(getRedBall(redBalls[s]) + " ");
}
int indexBlue = r.nextInt(list2.size());
System.out.println("蓝球:" + getRedBall(list2.get(indexBlue))+"");
}
public static String getRedBall(Integer a){
String b = "";
if (a10) b = "0"+a+"";
else b = a.toString();
return b;
}
}
截图:
选取红色球号码方法:
/**
* 随机选取红色球
*
* 获取1~33其中一个数
*
* 0 = Math.random 1
*/
private int randomOneRedValue() {
int randomValue = (int) (Math.random() * 33 + 1);
return randomValue;
}
选取蓝色球号码方法:
/**
* 随机选取蓝色球号码
*
* 获取1~16的数值
*
* @return
*/
private int randomOneBlueValue() {
int randomValue = (int) (Math.random() * 15 + 1);
return randomValue;
}
测试:
public class Test1 {
public static void main(String[] arg) {
Test1 localTest1 = new Test1();
// 双色球 :红色球号码 + 蓝色球号码
// 六个红色球和一个蓝色球号码
// 红色球号码从1~33中选择
// 蓝色球号码从1~16中选择
// 一等奖:七个号码相符(六个红色号码和一个蓝色球号码)(红色球号码顺序不限,下同)
// 二等奖:六个红色球号码相符;
// 三等奖:五个红色球号码,或者四个红色球号码和一个蓝色球号码相符;
// 四等奖:五个红色球号码,或者三个红色球号码和一个蓝色球号码相符;
// 五等奖:四个红色球号码,或者三个红色球号码和一个蓝色球号码相符;
// 六等奖:一个蓝色球号码相符(有误红色球号码相符均可);
// 例如:红色球号码 01 06 13 19 24 28 蓝色球号码 16
System.out.println("开始出奖");
// 定义双色球数组,大小为7
String[] values = new String[7];
for (int i = 0; i 7; i++) {
if (i == 6) {
int blueValue = localTest1.randomOneBlueValue();
if (blueValue 10) {
values[i] = "0" + blueValue;
} else {
values[i] = String.valueOf(blueValue);
}
} else {
int redValue = localTest1.randomOneRedValue();
if (redValue 10) {
values[i] = "0" + redValue;
} else {
values[i] = String.valueOf(redValue);
}
}
}
System.out.println();
System.out.println("出奖结束");
System.out.println();
System.out.print("双色球开奖号码:");
// 打印双色球号码
for (String value : values) {
System.out.print(" " + value);
}
}
}
import java.util.Random;
import java.util.Scanner;
public class DoubleBalls {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("是否机选一组双色球号码?(Y/N)");
Scanner input = new Scanner(System.in);
char a = input.next().charAt(0); // 输入一个char字符,0位即是第一位
if (a == 'Y' || a == 'y') {
Random suiji = new Random(); // 创建suiji方法
int blue = suiji.nextInt(16);//从0到16中选一个数字个蓝球
while(blue==0){
blue=suiji.nextInt(16);
}//如果选到了0,再选一次给blue
int red[] = new int[6];// 用一个6个元素的数组装红球
for (int i = 0; i 6; i++) {
red[i] = suiji.nextInt(33); // 随机分配0到33的整数
if (red[i] == 0) {i--;}
if (i == -1) {i = 0;}
for (int j = 0; j i; j++) {
while (red[i] == red[j]) {i--;}// 发现相同的从新回去生成一个
}
}
System.out.print("红球:");
for (int k = 0; k red.length; k++) {
System.out.print(red[k] + " ");// 输出数组red
}
System.out.print("蓝球:"+blue);
} else
System.out.println("fuck you~");
}
}
应该可以了,可以产生一组。。。如果楼主你中头奖了,送我套房好了哈^0^