Java模拟生成双色球

2025-05-15 03:12:08
推荐回答(2个)
回答1:

public void main (String[] args){
int[] red=new int[7];
int blue=0;
for(int i=0;i<7;i=i+1){
red[i]=getRandom(33);
//判断重复
while(true){
boolean needcheck=false;
for(int k=0;kif(needcheck){red[i]=red[i]+1; if(red[i]==34){red[i]=1}}else{break;}
}
//判断重复结束
}
//红球赋值结束
blue=getRandom(16);
System.out.println("生成的红球为:"+ red[0]+red[1]+red[2]+red[3]+red[4]+red[5]+red[6]);
System.out.println("生成的蓝球为:"+ );
}

public int getRandom(int Max){
return Math.floor(Math.random()*33)+1;
}

回答2:

package Sumary918;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
/**
* 模拟双色球购买
* @author Administrator
*
*/
public class Asq {
public static void main(String[] args) {

//中奖提示
String falg="";
//中奖总金额
int Sum=0;
//中奖注数
int m=0;
//每注中奖金额
int je=10000000;

Mains ssq = new Mains();
Scanner scanner=new Scanner(System.in);

System.out.println("请输入您要购买的彩票数量(单位/注)");
int n=scanner.nextInt();

List list = ssq.getXhao(n);
for (int i = 0; i < list.size(); i++) {
System.out.println("第" + (i + 1) + "注:" + list.get(i));

if (list.get(i).equals(Mains.cp)) {
Sum+=Sum;
m+=i;
falg="恭喜你中奖了!";
}else{
falg="然而您,并没有中奖!";
}
}

System.out.println("\n本期中奖号码为:"+Mains.cp);
System.out.println(falg);

}
}

class Mains {

static final String cp= getQq();
/**
* 返回6个编号不重复的红球和一个蓝球
*
* @return
*/
public static String getQq() {
String st1 = "";
Map map = new LinkedHashMap();
for (int i = 0; map.size()<6; i++) {
// 红球
map.put((int) (Math.random() * 33) + 1, "");
}

Set kesSet = map.keySet();
for (Object ob : kesSet) {
st1 += " " + ob;
}

// 蓝球
int bule = ((int) (Math.random() * 16)+1);

return st1 + " " + bule;
}

/**
* 根据传入的参数n生成n注双色球
*
* @param n
* @return
*/
public List getXhao(int n) {
List list = new ArrayList();
for (int i = 0; i < n; i++) {
list.add(this.getQq());
}
return list;
}
}