java程序编写双色球代码

如题所述

截图:

选取红色球号码方法:

/**
 * 随机选取红色球
 * 
 * 获取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);
}
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-27
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class cp {
public static void main(String[] args){
Scanner input=new Scanner(System.in);//输入工具类的对象
int[] pm=new int[7];//用来存储选择的号码,总共7个,将最后一个位置放置蓝色球
int[] rb=new int[7];//用来存储随机产生的号码,总共7个,将最后一个位置放置蓝色球
System.out.println("********************欢迎来到中国福利彩票摇奖竞答现场**********************");
//自己要选号 6+1 红色球1-33号 蓝色球1-16
System.out.println("请输入红色球号码(号码在1-33中选)...");
for(int i=0;i<6;i++){
pm[i]=input.nextInt();
}
System.out.println("请输入蓝色球号码(号码在1-16中选)...");
pm[6]=input.nextInt();
System.out.println("mp:"+Arrays.toString(pm));
//机器要随机选号6+1 红色球1-33号 蓝色球1-16
Random random=new Random();//创建随机数生成类对象
for(int i=0;i<6;i++){
rb[i]=random.nextInt(33)+1;//由于生成的随机数是从0开始的,在0到bound-1这个方位中随机一个数
// ,而我们要从一开始到bound,所以最后结果要+1
}
rb[6]=random.nextInt(16)+1;
System.out.println("rb:"+Arrays.toString(rb));
//比较中奖的球数 红色与红色球比较,蓝色与蓝色球之间相互比较
//红色球注重的是中奖的个数 number
int number=0;
//蓝色球只有中奖或不中奖两种情况 true false
boolean boo=false;
if(rb[6]==pm[6]){//判断蓝色球是否中奖,中奖将boo标记改为true,否则不改
boo=true;
}
//判断红色球中奖个数
for(int i=0;i<6;i++){//用来判断红色球是否中奖,如果有一个中奖,将number自增一次
if(rb[i]==pm[i]){
number++;
}
}
//得出比较结果 转化为奖金
switch (number){
case 6:
if(boo){
System.out.println("恭喜你中了一等奖你,奖金为1亿");
}else{
System.out.println("恭喜你中了二等奖你,奖金为30000000");
}

break;
case 5:
if(boo){
System.out.println("恭喜你中了三等奖你,奖金为3000");
}else{
System.out.println("恭喜你中了四等奖你,奖金为200");
}
break;
case 4:
if(boo){
System.out.println("恭喜你中了四等奖你,奖金为200");
}else{
System.out.println("恭喜你中了五等奖你,奖金为10");
}
break;
case 3:
if(boo){
System.out.println("恭喜你中了五等奖你,奖金为10");
}else{
System.out.println("你一个毛也没中<*_*>");
}
break;
case 2:
if(boo){
System.out.println("恭喜你中了六等奖你,奖金为5");
}else{
System.out.println("你一个毛也没中<*_*>");
}
break;
case 1:
if(boo){
System.out.println("恭喜你中了六等奖你,奖金为5");
}else{
System.out.println("你一个毛也没中<*_*>");
}
break;
case 0:
if(boo){
System.out.println("恭喜你中了六等奖你,奖金为5");
}else{
System.out.println("你一个毛也没中<*_*>");
}
break;

}
}

}本回答被提问者采纳
第2个回答  2018-02-13
import java.util.Arrays;
import java.util.Random;
public class q{
public static int hongqiu(){
Random b=new Random();
return b.nextInt(33)+1;
}
public static int lanqiu(){
Random b=new Random();
return b.nextInt(16)+1;
}
public static void main(String[] args){
int e=0;
int c=0;
int[]a= new int[6];
a[0]=hongqiu();
for(int i=0;i<6;i++)
{
hh:for(;;)
{
c=hongqiu();
for(int j=0;j<6;j++)
{if(a[0]!=c&a[1]!=c&a[2]!=c&a[3]!=c&a[4]!=c&a[5]!=c)
break hh;
}
}
a[i]=c;
}
Arrays.sort(a);
for(int i=0;i<6;i++)
{System.out.print(a[i]+" ");
}
e=lanqiu();
System.out.print("+"+e);
}
}