java with arrays (no array list as we didn\'t learn it in this course we study c
ID: 3694674 • Letter: J
Question
java with arrays (no array list as we didn't learn it in this course we study classes and arrays so far)
third time i post this, always wrong answers!! please include program output sample!
creat a new program that simulates the game of lotto using ARRAYS.
- the user will input 6 numbers (integers), ranging from 1 to 59.
- the computer willl randomly pick the winning numbers (6 of them and the "Bonus" number)
- to win first prize the user must match all of the 6 numbers.
- to win second prize, the user will must match 5 of 6 numbers AND the bonus number.
** Numbers CANNOT be generated twice, for example 6,18,18,50,52,55 is not valid as 18 appears twice.
** winning numbers (via the computer) are always presented in ascending order.
Explanation / Answer
/*LotteryGame.java java code to find the prize won in lottery */
import java.util.*;
public class LotteryGame {
/*The main method is the program's starting point */
public static void main(String[] args){
// array for user entry
int[] userDigits = new int[6];
// array for computer generated numbers
int[] lotteryNumbers = new int[6];
// counnt of same numbers in both array to find the prize.
int sameNum = 0;
Random randNum = new Random();
lotteryNumbers[0] = randNum.nextInt(5) + 1;
lotteryNumbers[1] = randNum.nextInt(10) + 5;
lotteryNumbers[2] = randNum.nextInt(10) + 15;
lotteryNumbers[3] = randNum.nextInt(10) + 25;
lotteryNumbers[4] = randNum.nextInt(10) + 35;
lotteryNumbers[5] = randNum.nextInt(10) + 45;
int bonus_number = randNum.nextInt(5)+ 55;
Scanner keyboard = new Scanner(System.in);
System.out.println("Input ranging from 1 to 59, Enter digit 1: ");
userDigits[0] = keyboard.nextInt();
while (userDigits[0] > 59 || userDigits[0] < 1) {
System.out.println("Invalid Input");
System.out.println("Input ranging from 1 to 59, Enter digit 1: ");
userDigits[0] = keyboard.nextInt();
}
System.out.println("Input ranging from 1 to 59, Enter digit 2: ");
userDigits[1] = keyboard.nextInt();
while (userDigits[1] > 59 || userDigits[1] < 1) {
System.out.println("Invalid Input");
System.out.println("Input ranging from 1 to 59, Enter digit 2: ");
userDigits[1] = keyboard.nextInt();
}
while (userDigits[0] == userDigits[1]) {
System.out.println("Duplicate entries not allowed");
System.out.println("Input ranging from 1 to 59, Enter digit 2: ");
userDigits[1] = keyboard.nextInt();
}
System.out.println("Input ranging from 1 to 59, Enter digit 3: ");
userDigits[2] = keyboard.nextInt();
while (userDigits[2] > 59 || userDigits[2] < 1) {
System.out.println("Invalid Input");
System.out.println("Input ranging from 1 to 59, Enter digit 3: ");
userDigits[2] = keyboard.nextInt();
}
while (userDigits[0] == userDigits[2] || userDigits[1] == userDigits[2]) {
System.out.println("Duplicate entries not allowed");
System.out.println("Input ranging from 1 to 59, Enter digit 2: ");
userDigits[2] = keyboard.nextInt();
}
System.out.println("Input ranging from 1 to 59, Enter digit 4: ");
userDigits[3] = keyboard.nextInt();
while (userDigits[3] > 59 || userDigits[3] < 1) {
System.out.println("Invalid Input");
System.out.println("Input ranging from 1 to 59, Enter digit 4: ");
userDigits[3] = keyboard.nextInt();
}
while (userDigits[0] == userDigits[3] || userDigits[1] == userDigits[3] || userDigits[2] == userDigits[3]) {
System.out.println("Duplicate entries not allowed");
System.out.println("Input ranging from 1 to 59, Enter digit 2: ");
userDigits[3] = keyboard.nextInt();
}
System.out.println("Input ranging from 1 to 59, Enter digit 5: ");
userDigits[4] = keyboard.nextInt();
while (userDigits[4] > 59 || userDigits[4] < 1) {
System.out.println("Invalid Input");
System.out.println("Input ranging from 1 to 59, Enter digit 5: ");
userDigits[4] = keyboard.nextInt();
}
while (userDigits[0] == userDigits[4] || userDigits[1] == userDigits[4] || userDigits[2] == userDigits[4] || userDigits[3] == userDigits[4]) {
System.out.println("Duplicate entries not allowed");
System.out.println("Input ranging from 1 to 59, Enter digit 2: ");
userDigits[4] = keyboard.nextInt();
}
System.out.println("Input ranging from 1 to 59, Enter digit 6: ");
userDigits[5] = keyboard.nextInt();
while (userDigits[5] > 59 || userDigits[5] < 1) {
System.out.println("Invalid Input");
System.out.println("Input ranging from 1 to 59, Enter digit 6: ");
userDigits[5] = keyboard.nextInt();
}
while (userDigits[0] == userDigits[5] || userDigits[1] == userDigits[5] || userDigits[2] == userDigits[5] || userDigits[3] == userDigits[5] || userDigits[4] == userDigits[5]) {
System.out.println("Duplicate entries not allowed");
System.out.println("Input ranging from 1 to 59, Enter digit 2: ");
userDigits[5] = keyboard.nextInt();
}
for (int i = 0; i < 6; i++ ) {
for (int j = 0; j < 6; j++ ) {
if(userDigits[i] == lotteryNumbers[j]) sameNum++;
}
}
int bonus = 0;
for (int i = 0; i < 6; i++ ) {
if(userDigits[i] == bonus_number) bonus =1;
}
System.out.println("Lottery numbers: " + lotteryNumbers[0] + " " + lotteryNumbers[1] + " " + lotteryNumbers[2] + " " + lotteryNumbers[3] + " " + lotteryNumbers[4] + " " + lotteryNumbers[5]);
System.out.println("Player numbers: " + userDigits[0] + " " + userDigits[1] + " " + userDigits[2] + " " + userDigits[3] + " " + userDigits[4] + " " + userDigits[5]);
System.out.println("Bonus Number: " + bonus_number);
System.out.println("Number of matching digits: " + sameNum);
if (sameNum == 6){
System.out.println("First Prize");
}
else if (sameNum == 5 && bonus == 1){
System.out.println("Second Prize");
}
else
System.out.println("No Prize");
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.