Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a lottery class that simulates a lottery. The class should have an array o

ID: 3858576 • Letter: W

Question

Write a lottery class that simulates a lottery. The class should have an array of five integers named lotteryNumbers. The constructor should use the Random class (from the Java API) to generate a random number in the range of 0 through 9 for each element in the array. The class should also have a method that accepts an array of five integers that represent a person's lottery picks. The method is to compare the corresponding elements in the two arrays and return the number of the digits that match. For example, the following shows the lotteryNumbers array and the user's array with sample numbers stored in each. There are two matching digits (elements 2 and 4). lottery array: |7|4|9|1|3| user array: |4|2|9|7|3| In addition, the class should have a method that returns a copy of the lotteryNumbers array. Demonstrate the class in a program that asks the user to enter five numbers. The programshould display the number of digits that match the randomly generated lottery numbers. If all of the digits match, display a message proclaiming the user a grand prize winner. Use Console for input and output. You should submit Lottery.java and LotteryTest.java.

Explanation / Answer

Below is your code: -

Lottery.java

import java.util.Random;

class Lottery {

/**

* The lottery numbers.

*/

private int lotteryNumbers[];

/**

* Default Constructor.

*

* The class should use the Random class (from the Java API) to generate a

* random number in the range of 0 through 9 for each element in the array.

*/

public Lottery() {

Random rand = new Random(System.currentTimeMillis());

lotteryNumbers = new int[5];

for (int i = 0; i < lotteryNumbers.length; i++) {

lotteryNumbers[i] = rand.nextInt(10);

}

}

/**

* The class should also have a method that accepts an array of 5 integers

* that represent a person's lottery picks. The method is to compare the

* corresponding elements in the two arrays and return the number of digits

* that match.

*/

public int compareNumbers(int[] usersNumbers) {

int match = 0;

if (usersNumbers.length == lotteryNumbers.length) {

for (int i = 0; i < lotteryNumbers.length; i++) {

if (usersNumbers[i] == lotteryNumbers[i]) {

match++;

}

}

}

return match;

}

/**

* In addition, the class should have a method that returns a copy of the

* lotteryNumbers array.

*/

public int[] getLotteryNumbers() {

return lotteryNumbers;

}

}

LotteryTest.java

import java.util.Arrays;

import java.util.Scanner;

/**

* Demonstrate the class in a program that asks the user to enter five numbers.

* The program should display the number of digits that match the randomly

* generate lottery numbers. If all of the digits match, display a message

* proclaiming the user a grand prize winner.

*/

public class LotteryTest {

public static void main(String[] args) {

Lottery lottery = new Lottery();

int lotteryNumbersCount = lottery.getLotteryNumbers().length;

System.out.println("Lottery Application ");

System.out.println("There are " + lotteryNumbersCount + " secret numbers in range of 0 through 9. "

+ "Try to guess them!!! ");

// Asks the user to enter five numbers.

Scanner kb = new Scanner(System.in);

int numbers[] = new int[lotteryNumbersCount];

for (int i = 0; i < numbers.length; i++) {

System.out.print(String.format("Enter Number %d: ", i + 1));

numbers[i] = kb.nextInt();

}

// Display the number of digits that match the randomly generate

// lottery numbers.

int match = lottery.compareNumbers(numbers);

if (match == lotteryNumbersCount) {

// If all of the digits match, display a message proclaiming the

// user a grand prize winner.

System.out.println(" WOHOO! ALL CORRECT! YOU WON THE GRAND PRIZE!");

} else {

System.out.println(" Uh-oh! You hit " + match + " number(s).");

}

System.out.println("Lottery numbers were : "+Arrays.toString(lottery.getLotteryNumbers()));

}

}

Sample Run: -

Lottery Application

There are 5 secret numbers in range of 0 through 9. Try to guess them!!!

Enter Number 1: 1
Enter Number 2: 2
Enter Number 3: 3
Enter Number 4: 4
Enter Number 5: 5

Uh-oh! You hit 3 number(s).
Lottery numbers were : [7, 3, 3, 4, 5]

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote