Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

手擁 發問時間: 電腦與網際網路程式設計 · 1 0 年前

java樂透碼

do

{

for (int count=0;count<6;count++)

{

a[count]=(int)(Math.random()*49+1);

System.out.println(a[count]);

}

}while(a[5]==a[4]&&a[4]==a[3]&&a[3]==a[2]&&a[2]==a[1]&&a[0]==a[1]);

怎樣能沒有重覆開出號碼呢?

2 個解答

評分
  • ?
    Lv 7
    1 0 年前
    最佳解答

    樓上用的是洗牌法

    2008-10-17 04:24:52 補充:

    public class lotto {

    public static void main(String[] args) {

    int a[] = new int[49];

    int i, tmp, num;

    for ( i = 0; i < 49; i++)

    a[i] = i + 1;

    for ( i = 0; i < 6; i++) {

    num = (int)(Math.random()*49);

    tmp = a[i];

    a[i] = a[num];

    a[num] = tmp;

    }

    for ( i = 0; i < 6; i++)

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

    }

    }

    參考資料: 個人的程式設計經驗
  • 1 0 年前

    不想複習JAVA

    自行改寫

    Dim apple(38) As Integer

    Dim i, last, x1 As Integer

    For i = 0 To 38

    apple(i) = i + 1

    Next

    last = 39

    For i = 0 To 5

    x1 = Int(Rnd()* last)

    Text1(i).Text = apple(x1)

    apple(x1) = apple(last - 1)

    last = last - 1

    Next

還有問題?馬上發問,尋求解答。