Create a program that generates SuperLotto lottery numbers. Create a class calle
ID: 3821290 • Letter: C
Question
Create a program that generates SuperLotto lottery numbers.
Create a class called SuperLottoPlus.java
Create a static method called generateSuperLottoNumbers() that returns an array of 6 random SuperLotto lottery numbers.
Must have correct method signature, and return the entire array of lotto numbers. [1 pt]
The first 5 numbers must be from the range 1 to 47 [1 pt]
The 6th number (the MEGA) must be from 1 to 27. [1 pt]
Create a static method called printTicket() that takes an integer array as an parameter
Must have the correct method signatures [1 pt]
it will loop through the integer array and print out the data [1 pt]
Display the data in the format: 47 22 25 4 13 (MEGA: 14)
In the main method
Ask the user how many lotto tickets they want.
If the user enters 5, for example, then using a for loop, loop 5 times. [1 pt]
In each loop iteration, call the printTicket() method, passing a call to the method generateSuperLottoNumbers() as an agrument [1 pts]
Hint: numbers[i] = (int) (10 * Math.random()) + 1; // will assign your array element to a random number from 1 to 10. You can also create the random numbers by creating an object of the Random class.
Extra Credit: Create another method called generateSuperLottoNoDupes() which does the same thing as generateSuperLottoNumbers(), but returns an array without duplicates in the first 5 numbers. It is OK for the MEGA number to be a duplicate of any of the first 5 (+1 point)
Example output:
How many Super Lotto tickets do you want?
4
28 8 11 9 28 MEGA (4)
38 39 29 47 27 MEGA (27)
15 17 33 12 6 MEGA (19)
30 29 18 20 31 MEGA (12)
Explanation / Answer
import java.util.Scanner;
public class SuperLottoPlus
{
public static int[] generateSuperLottoNumbers()
{
int[] numbers;
numbers = new int[5];
numbers[0] = (int) (47 * Math.random()) + 1;
numbers[1] = (int) (47 * Math.random()) + 1;
numbers[2] = (int) (47 * Math.random()) + 1;
numbers[3] = (int) (47 * Math.random()) + 1;
numbers[4] = (int) (47 * Math.random()) + 1;
numbers[5] = (int) (27 * Math.random()) + 1;
return numbers;
}
public static void printTicket(int [] array)
{
int i;
for(i = 0; i < array.length ; i++)
{
System.out.println(array[i]);
}
}
public static void main (String[] args)
{
int n;
Scanner keyboard = new Scanner(System.in);
System.out.println("How many lottery tickets would you like?");
n = keyboard.nextInt();
for(int i = 0; i < n; i++)
{
printTicket(generateSuperLottoNumbers());
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.