java機(jī)選雙色球代碼 雙色球java程序代碼出現(xiàn)概率

求java程序隨機(jī)生成彩票雙色球

import java.util.ArrayList;

大城網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

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 注數(shù) = 10000 ;

for (int n = 0; n 注數(shù); 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("藍(lán)球:" + getRedBall(list2.get(indexBlue))+"");

}

public static String getRedBall(Integer a){

String b = "";

if (a10) b = "0"+a+"";

else b = a.toString();

return b;

}

}

Java雙色球程序

我能理解你的思路,但做法有點(diǎn)小問題,這種做法就注定了不好判斷是否重復(fù),給你提供一種更好的思路

public?static?void?main(String[]?args)?{

int?a[]=new?int?[6];

int?b=(int)(Math.random()*15+1);

// abcd:

// while(true){

// for(int?i=0;ia.length;i++){

// ????a[i]=(int)(Math.random()*35+1);//這里不要直接把隨機(jī)出來的數(shù)放進(jìn)數(shù)組,沒法判斷

// }

// for(int?i=0;ia.length-1;i++){ //你是想在這里循環(huán)判斷是否重復(fù)吧,思路是對的,

// //但過程太亂讀不明白了,a.length為什么要-1

// for(int?j=0;ja.length-1;j++){

// System.out.println(i);

// System.out.println(j);

// if(a[i]!=a[j]i!=jia.length){

// //問題在這,第一次循環(huán)i=0,j=0,沒有問題

// //第二次循環(huán)i還=0,j=1了,那i肯定是不等j,所以必然break,根本沒法判斷

// System.out.println("----"?+?j);

// break?abcd;

// }

// }

// }

// }

//下面是我給你提供的方法

int[]?balls?=?new?int[35];//創(chuàng)建一個(gè)有35個(gè)長度的數(shù)組作為選球池

for(int?i=0;iballs.length;i++){

balls[i]?=?i?+?1;?//循環(huán)放入1至35

}

boolean[]?used?=?new?boolean[balls.length];//創(chuàng)建一個(gè)boolean數(shù)組,用于記錄是否重復(fù)

//長度和球池等長

for(int?i?=?0;ia.length;i++){//循環(huán)向a數(shù)組中放入元素

for(){

int?index?=?(int)(Math.random()*35);//生成一個(gè)隨機(jī)數(shù),這里不再+1了,因?yàn)殡S機(jī)的是下標(biāo),+1會出現(xiàn)越界

if(used[index]==true){?//如果used中,index的位置為true,則表示已經(jīng)被隨機(jī)過了

continue;//如果已經(jīng)被隨機(jī)過,則重新循環(huán)生成隨機(jī)數(shù)

}

a[i]?=?balls[index];//如果沒有被隨機(jī)過,則將index所對應(yīng)位置的元素放入a數(shù)組中

used[index]?=?true;//同時(shí)將該index位置設(shè)置為true,表示已經(jīng)被隨機(jī)過了

break;//退出當(dāng)前循環(huán),繼續(xù)下一次向a中添加元素

}

}

for(int?i=0;ia.length;i++){

for(int?j=0;ja.length-1-i;j++){

if(a[j]a[j+1]){

int?t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

// for(int?i=0;ia.length;i++){

// System.out.println(a[i]);

// }//輸出數(shù)組不需要這么麻煩

System.out.println(Arrays.toString(a));

System.out.println("藍(lán)色球?yàn)?+b);

}

求java大神給解釋以下雙色球代碼的意思。

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個(gè)號碼

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;

}

}

希望可以幫到你,要是還不理解可以在問我。。。

用Java程序?qū)懸粋€(gè)彩票的模擬程序生成6個(gè)紅球(1-33的隨機(jī)數(shù)),1個(gè)藍(lán)球(1-16的隨機(jī)數(shù)),隨機(jī)數(shù)可以重復(fù)

public class RandomDemo {

public static void main(String[] args) {

LotteryTicket lt = new LotteryTicket();

int red[] = lt.getRed();

System.out.print("隨機(jī)生成的紅球?yàn)椋?);

for(int i=0;i6;i++){

System.out.print(" "+red[i]);

}

System.out.print("\t藍(lán)球?yàn)椋?+lt.getBlue());

}

}

class LotteryTicket{ 彩票生成類

private int[] red = new int[6];

public int[] getRed(){ //返回紅球

int i =0;

for(;i6;i++){

red[i] = (int)(Math.random()*33) +1;

for(int j=0;ji;j++){ //保證了重復(fù),我個(gè)從認(rèn)為這個(gè)彩票好像不能重復(fù)吧

if(red[i]==red[j]){

red[i] = (int)(Math.random()*33) +1;

j=0;

}

}

}

return red;

}

public int getBlue(){ //返回藍(lán)球

return (int)(Math.random()*16) +1;

}

}

網(wǎng)頁名稱:java機(jī)選雙色球代碼 雙色球java程序代碼出現(xiàn)概率
轉(zhuǎn)載來于:http://muchs.cn/article16/ddigddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站制作、服務(wù)器托管定制開發(fā)、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站