截圖:
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比靈山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式靈山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋靈山地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
選取紅色球號碼方法:
/**
?*?隨機(jī)選取紅色球
?*?
?*?獲取1~33其中一個數(shù)
?*?
?*?0?=?Math.random??1
?*/
private?int?randomOneRedValue()?{
int?randomValue?=?(int)?(Math.random()?*?33?+?1);
return?randomValue;
}
選取藍(lán)色球號碼方法:
/**
?*?隨機(jī)選取藍(lán)色球號碼
?*?
?*?獲取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();
//?雙色球?:紅色球號碼?+?藍(lán)色球號碼
//?六個紅色球和一個藍(lán)色球號碼
//?紅色球號碼從1~33中選擇
//?藍(lán)色球號碼從1~16中選擇
//?一等獎:七個號碼相符(六個紅色號碼和一個藍(lán)色球號碼)(紅色球號碼順序不限,下同)
//?二等獎:六個紅色球號碼相符;
//?三等獎:五個紅色球號碼,或者四個紅色球號碼和一個藍(lán)色球號碼相符;
//?四等獎:五個紅色球號碼,或者三個紅色球號碼和一個藍(lán)色球號碼相符;
//?五等獎:四個紅色球號碼,或者三個紅色球號碼和一個藍(lán)色球號碼相符;
//?六等獎:一個藍(lán)色球號碼相符(有誤紅色球號碼相符均可);
//?例如:紅色球號碼?01?06?13?19?24?28?藍(lán)色球號碼?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);
}
}
}
public class sedasd {
static Random random = new Random();
public static void main(String[] args) {
System.out.println(Arrays.toString(getStor(getRed())));/*getRed()得到存儲取出的號碼的數(shù)組ns
getStor()對數(shù)組的輸出格式進(jìn)行格式化
*/
}
public static int[] getRed() {
int[] num = new int[33];
int[] ns = new int[6];
int index = 0;
for (int i = 0; i 100; i++) {
int temp = random.nextInt(33);
if (num[temp] == 0) { //判斷取出的號碼是不是第一次取出
ns[index] = temp + 1; //random.nextInt(33)是從零到32所以要加1
num[temp] = 1;
index++;
}
if (!(ns[5] == 0)) { //判斷是不是取6個號碼
return ns;
}
}
return ns;
}
public static String[] getStor(int[] s) {
String[] ns = new String[6];
Arrays.sort(s);
for (int i = 0; i s.length; i++) {
if (s[i] 10) {
ns[i] = "0" + s[i];
} else {
ns[i] = "" + s[i];
}
}
return ns;
}
}
希望可以幫到你,要是還不理解可以在問我。。。
int?sum=(int)?(Math.random()*33+1);??//利用Math中random方法的可以獲得1~33的隨機(jī)數(shù)
然后定義一個中獎的容器數(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é)束
藍(lán)球因為只有一次就不需要了