0

私はJavaにまったく慣れていないので、この問題に取り組んでいます。宝くじ番号を表す 2 つの別々の配列に格納された 2 つの数字セットがあります。最初のセットはユーザー番号で、2 番目のセットは宝くじの Web ページからの番号です。配列内の位置ごとに数字を比較しようとしましたが、宝くじには6つのユーザー番号があるため、どの結果が正しい数の一致をもたらし、ボーナスボールとの一致をどのように含めることができるかについてはわかりません、ただし、抽選で 7 つの宝くじ番号 (6 つの番号とボーナス番号)。私は以下のコードを含めました:

     // set up an array to store numbers from the latest draw on the lottery web page
     Integer [] numbers = new Integer [split.length];

     int i = 0;
     for (String strNo : split) {
        numbers [i] = Integer.valueOf(strNo);
        i++;
     }

     for (Integer no : numbers) {
        System.out.println(no);
     }

     Element bonusElement = firstLottoRow.child(3);
     Integer bonusBall = Integer.valueOf(bonusElement.text());
     System.out.println("Bonus ball: " + bonusBall);
     //Elements elementsHtml = doc.getElementsByTag("main-article-content");
     final int SIZE = 7;
     //array to store user numbers
     int [] userNumbers = new int[SIZE];
     boolean found = false;
     int pos = 0;
     int search = 0;
     int searchPos=-1;
     boolean bonus = false;
     int lottCount;
     while (pos<SIZE)
     {
        System.out.println("enter your numbers");
        userNumbers[pos]=keyboard.nextInt();
        pos++;
     }
     for (int count: userNumbers)
     {
        System.out.println(count);
     }
     while ((pos < SIZE) && (!found))
     {
        if (userNumbers[pos] == numbers[0])
        {
           found = true;
           System.out.println("You have matched one number"); //am i wrong in saying  //this?
        }else pos++; //am i incrementing the wrong counter and at what point do i //implement the lottery counter?

     }//while
     if (!found)
     {
        System.out.println("You have not won this time");
     }else if (userNumbers[pos] == bonusBall)
     {
        bonus = true; //i think this is wrong too
     }
     //how do i go about working out how many nos the player has matched or how many //numbers theyve matched plus the bonus?
4

4 に答える 4

0

最初に、最初の 6 つの整数を比較するメソッドが必要です。順番は関係ないので、宝くじの番号がチケットの番号と一致するかどうかを確認する必要があります。これを行う最も簡単な方法は、for ループ内の for ループです。宝くじ番号が 6 つの数字のいずれかと一致するかどうかを確認するたびに、次の宝くじ番号を 6 つの数字と照合します。一致した場合は、カウンタ int count = 0 をインクリメントします。// ループの外側で初期化する if(myNum[x] == lottoNum[x]){ count = count + 1; }

これで、最初の 6 つの数字のうちいくつが一致するかがわかります。次に、ボーナスが一致するかどうかを確認する別のメソッドを作成します。これは単なる bool BonusHit です。if(myNums[7] == lottoNum[6]){bonusHit = true;} else{bonusHit = false;}

于 2013-08-19T20:18:09.987 に答える