亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

彩票程序號碼生成器

彩票程序號碼生成器

繁花不似錦 2023-09-20 16:08:08
我正在為我的班級項目進行彩票模擬,但我無法讓它不重復相同的數字。其他一切都工作正常,但我嘗試了幾種方法讓它不重復已經繪制的數字,但我就是無法讓它工作。我對此還很陌生。class Lotto{    public static void main(String[]args)    {        System.out.print("Hvor mange rekker vil du spille?: ");        Scanner lesInn= new Scanner(System.in);// Gir brukeren mulighet til ? taste inn antall rekker de vil spille. (How many tickets)          int nummer = lesInn.nextInt();        System.out.println("Lotto tallene er: ");        System.out.println();        for(int i=0; i<nummer; i++)        {            int[] lottoNummer = trekk();            System.out.print(lottoNummer[1] + " " );            System.out.print(lottoNummer[2] + " " );            System.out.print(lottoNummer[3] + " " );            System.out.print(lottoNummer[4] + " " );            System.out.print(lottoNummer[5] + " " );            System.out.print(lottoNummer[6] + " " );            System.out.print(lottoNummer[7] + " " );            System.out.print("Tilleggstall:(" + lottoNummer[7] + ")");            System.out.println();        }//for    }//main    public static int[] trekk()    {        int[] lottoNummer = new int[8];        {            lottoNummer[1] = (int) ((34 * Math.random()) + 1);            lottoNummer[2] = (int) ((34 * Math.random()) + 1);            lottoNummer[3] = (int) ((34 * Math.random()) + 1);            lottoNummer[4] = (int) ((34 * Math.random()) + 1);            lottoNummer[5] = (int) ((34 * Math.random()) + 1);            lottoNummer[6] = (int) ((34 * Math.random()) + 1);            lottoNummer[7] = (int) ((34 * Math.random()) + 1);        }        bubbleSort(lottoNummer);        return lottoNummer;    }//trekk    public static void bubbleSort(int[] x)    {        int k, y, i;        for( y = 1; y <= x.length -1; y++)        for( i= 0 ; i <= x.length -2; i++)        {            if (x[i] > x [i+1])            {                k = x[i];                x[i]= x[i+1];                x[i+1] = k;            }// if        }//for    }//bubbleSort}//class
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

在這種情況下,我更喜歡使用 Stream API。所以我認為應該是這樣:


    public static void main(String[] args) {

        System.out.print("Hvor mange rekker vil du spille?: ");

        Scanner lesInn = new Scanner(System.in);

        int nummer = lesInn.nextInt();

        System.out.println("Lotto tallene er: ");

        System.out.println();

        for (int i = 0; i < nummer; i++) {

            int[] lottoNummer = trekk();

            System.out.print(lottoNummer[1] + " ");

            System.out.print(lottoNummer[2] + " ");

            System.out.print(lottoNummer[3] + " ");

            System.out.print(lottoNummer[4] + " ");

            System.out.print(lottoNummer[5] + " ");

            System.out.print(lottoNummer[6] + " ");

            System.out.print(lottoNummer[7] + " ");

            System.out.print("Tilleggstall:(" + lottoNummer[7] + ")");

            System.out.println();

        }

    }


    public static int[] trekk() {

        return new Random().ints(1, 35).distinct().limit(8).sorted().toArray();

    }

創建一個隨機整數流,其中第一位數字表示最小值,最后一個數字表示最大值。Distinct 用于僅生成唯一的數字,Limit 用于限制數組的大小,Sorted 顯然用于排序。然后將其映射到數組并返回。


實際上,如果您不介意的話,我想重構一下您的代碼,如下所示:


public static void main(String[] args) {

        System.out.print("Hvor mange rekker vil du spille?: ");

        Scanner lesInn = new Scanner(System.in);

        int nummer = lesInn.nextInt();

        System.out.println("Lotto tallene er: ");

        System.out.println();


        for (int i = 0; i < nummer; i++) {

            int[] lottoNummer = trekk();

            for (int num : lottoNummer) {

                System.out.print(num + " ");

            }

            System.out.print("Tilleggstall:(" + lottoNummer[lottoNummer.length - 1] + ")");

            System.out.println();

        }

    }


    public static int[] trekk() {

        return new Random().ints(1, 35).distinct().limit(8).sorted().toArray();

    }


查看完整回答
反對 回復 2023-09-20
  • 1 回答
  • 0 關注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號