int?sum=(int)?(Math.random()*33+1);??//利用Math中random方法的可以獲得1~33的隨機數(shù)
十余年的仁布網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整仁布建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“仁布網(wǎng)站設(shè)計”,“仁布網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
然后定義一個中獎的容器數(shù)組來裝中獎數(shù)字
設(shè)置一個過濾器(for循環(huán)遍歷中獎容器嵌套if語句)來防止紅球中獎數(shù)字重復(fù)
也就是說雙重for循環(huán) 外層取數(shù),內(nèi)層for循環(huán)過濾中獎數(shù)字,
在外層循環(huán)定義一個計數(shù)器來控制循環(huán)的結(jié)束
藍球因為只有一次就不需要了
截圖:
選取紅色球號碼方法:
/**
?*?隨機選取紅色球
?*?
?*?獲取1~33其中一個數(shù)
?*?
?*?0?=?Math.random??1
?*/
private?int?randomOneRedValue()?{
int?randomValue?=?(int)?(Math.random()?*?33?+?1);
return?randomValue;
}
選取藍色球號碼方法:
/**
?*?隨機選取藍色球號碼
?*?
?*?獲取1~16的數(shù)值
?*?
?*?@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("開始出獎");
//?定義雙色球數(shù)組,大小為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("出獎結(jié)束");
System.out.println();
System.out.print("雙色球開獎號碼:");
//?打印雙色球號碼
for?(String?value?:?values)?{
System.out.print("?"?+?value);
}
}
}
1、球?qū)ο?/p>
public?class?Ball?{
private?String?color;
private?int?number;
public?String?getColor()?{
return?color;
}
public?void?setColor(String?color)?{
this.color?=?color;
}
public?int?getNumber()?{
return?number;
}
public?void?setNumber(int?number)?{
this.number?=?number;
}
}
2、球池對象
import?java.util.Random;
public?class?BallPond?{
private?Ball[]?balls;
private?Ball[]?resultBalls;
public?Ball[]?getBalls()?{
return?balls;
}
//生成原始球池
public?void?setBalls(String?color)?{
Ball[]?balls?=?null;
if(color.equals("red")){//生成紅球池
Ball[]?redBalls?=?new?Ball[33];
for(int?i=1;i=33;i++){
Ball?ball?=?new?Ball();
ball.setColor("red");
ball.setNumber(i);
redBalls[i-1]?=?ball;
}
balls?=?redBalls;
}else{//生成藍球池
Ball[]?blueBalls?=?new?Ball[16];
for(int?i=1;i=16;i++){
Ball?ball?=?new?Ball();
ball.setColor("blue");
ball.setNumber(i);
blueBalls[i-1]?=?ball;
}
balls?=?blueBalls;
}
this.balls?=?balls;
}
public?Ball[]?getResultBalls()?{
return?resultBalls;
}
//生成結(jié)果球池
public?void?setResultBalls()?{
Ball[]?resultBalls?=?null;
Random?r?=?new?Random();
if(("red").equals(this.balls[0].getColor())){//取紅球6個
Ball[]?resultRedBalls?=?new?Ball[6];
int[]?nums?=?new?int[6];
for(int?i=0;i6;i++){
int?n?=?r.nextInt(33)+1;
int?flag?=?0;
for(int?j=0;j6;j++){
if(n==nums[j]){
flag?=?flag?+?1;
}
}
if(flag==0){
nums[i]=n;
}
}
for(int?k=0;k6;k++){
int?tip?=?nums[k];
resultRedBalls[k]?=?this.balls[tip];
}
resultBalls?=?resultRedBalls;
}else{//取藍球1個
Ball[]?resultBlueBalls?=?new?Ball[1];
int?n?=?r.nextInt(16)+1;
resultBlueBalls[0]?=?this.balls[n];
resultBalls?=?resultBlueBalls;
}
this.resultBalls?=?resultBalls;
}
}
3、主方法調(diào)用
public?class?DoubleColorBall?{
public?static?void?main(String[]?args)?{
//紅球池
BallPond?redBalls?=?new?BallPond();
//藍球池
BallPond?blueBalls?=?new?BallPond();
//初始化球池
redBalls.setBalls("red");
blueBalls.setBalls("blue");
//抽獎
redBalls.setResultBalls();
blueBalls.setResultBalls();
//輸出獲獎球號
System.out.println("紅球:");
for(int?i=0;i6;i++){
System.out.print(redBalls.getResultBalls()[i].getNumber()+"?");
}
System.out.println("\n藍球:");
System.out.print(blueBalls.getResultBalls()[0].getNumber());
}
}
PS:主方法引用以上兩個對象的時候注意引入你對象所放位置的包
結(jié)果如下: