Question: Java Assignment I am missing if the user chooses three invalid menu options in a row, a message displays about trying again later and ends

Java Assignment

I am missing if the user chooses three invalid menu options in a row, a message displays about trying again later and ends the program.

Here is my code so far.

import java.util.Scanner;

public class MenuDrivenCalculator {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

boolean mainLoop = true;

double Answer;

double firstNum, secondNum;

int menuSelect;

while(true){

System.out.println("Menu");

System.out.print("1. Add ");

System.out.print("2. Subtract ");

System.out.print("3. Multiply ");

System.out.print("4. Divide ");

System.out.print("5. Generate Random Number ");

System.out.print("6. Quit ");

System.out.print("What would you like to do? ");

menuSelect = input.nextInt();

switch(menuSelect){

case 1:

System.out.print("What is the first number?");

firstNum = input.nextDouble();

System.out.print("What is the second number?");

secondNum = input.nextDouble();

Answer = firstNum + secondNum;

System.out.print( "Answer: " +Answer );

System.out.print(" ");

System.out.print(" ");

break;

case 2:

System.out.println("What is the first number? ");

firstNum = input.nextDouble();

System.out.println("What is the second number? ");

secondNum = input.nextDouble();

Answer = firstNum - secondNum;

System.out.println("Answer: " +Answer);

System.out.print(" ");

System.out.print(" ");

break;

case 3:

System.out.println("What is the first number? ");

firstNum = input.nextDouble();

System.out.println("What is the second number? ");

secondNum = input.nextDouble();

Answer = firstNum * secondNum;

System.out.println("Answer: " +Answer);

System.out.print(" ");

System.out.print(" ");

break;

case 4:

System.out.println("What is your Numerator? ");

firstNum = input.nextDouble();

System.out.println("What is your Denominator? ");

secondNum = input.nextDouble();

if(secondNum == 0){

System.out.println("Double.NaN ");

secondNum = input.nextDouble();

}

Answer = firstNum / secondNum;

System.out.println("Answer: " +Answer);

System.out.print(" ");

System.out.print(" ");

break;

case 5:

double rand;

System.out.println("What is the low number in your range? ");

firstNum = input.nextDouble();

System.out.println("What is the high number in your range? ");

secondNum = input.nextDouble();

double randomVal = Math.random();

double randomNumber = (randomVal * (secondNum - firstNum)) + firstNum;

System.out.println("Answer: " +randomVal);

System.out.print(" ");

System.out.print(" ");

break;

case 6:

System.out.println("Goodbye!");

System.exit(0);

break;

default :

System.out.println("I'm sorry but "+menuSelect+" wasn't one of the options. ");

break;

}

}

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!