Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
powerball彩票的java程序_Java_Arrays - Fatal编程技术网

powerball彩票的java程序

powerball彩票的java程序,java,arrays,Java,Arrays,我必须检查我在数组中给出的所有测试用例,但我没有得到完美的答案。请帮助我回答这个问题。创建一个包含以下内容的PowerBall类: 大小为6的整数数组的字段。 使用6个随机值0-9初始化此数组的构造函数。 一个名为checkMatch的方法,它将int数组作为参数,并返回与类的int数组匹配的数字数量。要匹配,相同的数字必须位于相同的位置。 编写一个主类,要求用户输入6个数字作为他们的彩票,并将其存储在一个数组中。然后创建一个PowerBall对象,并将用户的票证交给checkMatch方法。然

我必须检查我在数组中给出的所有测试用例,但我没有得到完美的答案。请帮助我回答这个问题。创建一个包含以下内容的PowerBall类:

大小为6的整数数组的字段。 使用6个随机值0-9初始化此数组的构造函数。 一个名为checkMatch的方法,它将int数组作为参数,并返回与类的int数组匹配的数字数量。要匹配,相同的数字必须位于相同的位置。 编写一个主类,要求用户输入6个数字作为他们的彩票,并将其存储在一个数组中。然后创建一个PowerBall对象,并将用户的票证交给checkMatch方法。然后根据返回值计算赢得的金额

奖金的确定如下:

如果0个数字匹配,则没有赢家 如果1个数字匹配,赢4美元 如果两个数字匹配,赢7美元 如果3个数字匹配,赢100美元 如果4个数字匹配,赢得10000美元 如果5个数字匹配,赢得100万美元 如果6个数字全部匹配,将赢得4.5亿美元的大奖 输出用户的彩票、powerball号码、匹配的数量以及中奖金额

class PowerBall {

    /*
     * ALL PRIVATE DATA BELOW
     */

    private int[] winningNumber;
    private int[] ticketNumber;
    private long cash;
    static private IntUtil u = new IntUtil();
    int matchBalCount ;
    int powerBallMatchCount;

    public int cash() {

        for (int i = 0; i < winningNumber.length; i++) {
            for (int j = 0; j < ticketNumber.length; j++) {
                if (i == winningNumber.length-1 && ticketNumber[i] == winningNumber[j]) {
                    powerBallMatchCount=1;
                } else if (ticketNumber[i] == winningNumber[j]) {
                    matchBalCount++;
                }
            }

            }
        return 100;
    }


    public void check(int matchBalCount,int powerBalCount){

        System.out.println("prize---matchBalCount::"+matchBalCount+" ,powerBallMatchCount::"+powerBallMatchCount);
        if (matchBalCount == 0 && powerBallMatchCount>0) {
            System.out.println("4");
        }else if (matchBalCount == 1 && powerBallMatchCount>0) {
            System.out.println("4");
        }else if (matchBalCount == 2 && powerBallMatchCount>0) {
            System.out.println("7");
        }else if (matchBalCount == 3 && powerBallMatchCount<0) {
            System.out.println("7");
        }else if (matchBalCount == 3&& powerBallMatchCount>0) {
            System.out.println("100");
        }else if (matchBalCount == 4 && powerBallMatchCount<0) {
            System.out.println("100");
        }else if (matchBalCount == 4 && powerBallMatchCount>0) {
            System.out.println("50000");
        }else if (matchBalCount == 5 && powerBallMatchCount>0) {
            System.out.println("1lakh");
        } 


    }


    PowerBall(int[] w, int[] t) {
        winningNumber = w;
        ticketNumber = t;
        cash = 0;
     check(matchBalCount,powerBallMatchCount);
    }

    private static void test1() {
        int[] w = {4, 8, 19, 27, 24, 10};
        {
            int[] n = {4, 8, 19, 27, 24, 10};
            PowerBall x = new PowerBall(w, n);
           // x.cash();
        }
        {
            int[] n = {24, 27, 19, 8, 4, 10};
            PowerBall x = new PowerBall(w, n);
        }
        {
            int[] n = {24, 27, 19, 8, 4, 5};
            PowerBall x = new PowerBall(w, n);
        }
        {
            int[] n = {124, 127, 119, 18, 14, 10};
            PowerBall x = new PowerBall(w, n);
        }
        {
            int[] n = {124, 127, 119, 18, 14, 5};
            PowerBall x = new PowerBall(w, n);
        }
        {
            int[] n = {124, 127, 119, 18, 14};
            PowerBall x = new PowerBall(w, n);
        }
        {
            int[] n = {124, 124, 19, 119, 18, 14};
            PowerBall x = new PowerBall(w, n);
        }
    }

    private static void testRandom() {
        int[] w = {4, 8, 19, 27, 24, 10};
        int max = 10;
        long c = 0;
        for (int i = 0; i < max; ++i) {
            int[] n = u.generateRandomNumber(6, true, 1, 99);
            PowerBall x = new PowerBall(w, n);
            c = c + x.cash();
        }
        System.out.println("Out of " + max + " times you win " + c + "$");
    }

    private static void testBench() {
        test1();
        testRandom();
    }

    public static void main(String[] args) {
        System.out.println("PowerBall.java");
        testBench();
        System.out.println("Done");
    }

}

这是计算匹配数的好方法

 public int checkMatch(int [] userTicket)
        {

            int currIndex = 0; 
            int amountNumsMatching = 0; 

            if(userTicket.length == this.ticketNumber.length)
            {
                for (currIndex = 0; currIndex < this.ticketNumber.length; currIndex++)
                {
                    if(this.ticketNumber[currIndex] == userTicket[currIndex])
                    {
                        amountNumsMatching++; 
                    }

                }
            }

            return amountNumsMatching; 

        }

如果你能准确地解释错误所在,那会对我们有所帮助。你的问题是什么?我的检查方法有问题。它没有计算matchBalcount和powerBallMatch count的值。你没有按照作业说明进行操作。首先,它告诉您创建一个名为checkMatch的方法,而不是check。其次,它告诉您checkMatch方法应该接受int数组作为参数,即int[]。而是传递两个int参数。我建议你仔细阅读说明书并遵照执行。