Hello guys I know I went from 6 to 9 but I have been busy! I have finished the 9th assignment for the most part. I have a few things I still am working on but haven't been able to figure out.
Exercise
Write a program that asks the user to enter a distance in meters. The program will
then present the following menu of selections:
1.Convert to kilometers
2.Convert to inches
3.Convert to fee
4.Quit the program
The program will convert the distance to kilometers, inches, or feet, depending on the user’s selection. Here are the specific requirements:
Write a void method named showKilometers, which accepts the number of meters as an argument. The method should display the argument converted to kilometers. Convert the meters to kilometers using the following formula:
kilometers = meters * 0.001
Write a void method named showInches, which accepts the number of meters as an argument. The method should display the argument converted to inches.
Convert the meters to inches using the following formula:inches = meters * 39.37
Write a void method named showFeet, which accepts the number of meters as an argument. The method should display the argument converted to feet.Concert the meters to feet using the following formula:feet = meters * 3.281
Write a void method named menu, that displays the menu of selection. This method should not accept any arguments.
The program should continue to display the menu until the user enters 4 to quit the program.
The program should not accept negative numbers for the distance in meters.
If the user selects an invalid choice from the menu, the program should display an error messages.
Problems
I cannot figure out how to keep the menu displaying until the user enters 4 to quit.
I cannot figure out how to have the program display an error message for an invalid input.
java Code:import java.util.Scanner;
public class Varnick9
{
public static void showKilometers(double meters) //this is a parameterized function
{
double kilometers = meters * 0.001;
System.out.println(meters +" meters is " + kilometers + " kilometers.");
}
public static void showInches(double meters)
{
double inches = meters * 39.37;
System.out.println(meters +" meters is " + inches + " inches.");
}
public static void showFeet(double meters)
{
double feet = meters * 3.281;
System.out.println(meters +" meters is " + feet + " feet.");
}
public static void quitProgram()
{
System.out.println("Goodbye!");
System.out.println(0);
}
public static void showMenu()
{
System.out.println(" 1. Convert to kilometers ");
System.out.println(" 2. Convert to inches ");
System.out.println(" 3. Convert to feet ");
System.out.println(" 4. Quit the program ");
System.out.println(" ");
}
public static void main (String [] args)
{
double meters;
int choice;
Scanner keyboard = new Scanner (System.in);
System.out.println("Enter a distance in meters: ");
meters = keyboard.nextDouble();
showMenu();
choice = keyboard.nextInt();
switch(choice) //note the use of switch case
{
case 1: showKilometers(meters);
break;
case 2:showInches(meters);
break;
case 3:showFeet(meters);
break;
case 4:
quitProgram();
}
}
}