Results 1 to 3 of 3

Thread: Elements 9th Java Assignment

  1. #1
    Join Date
    Jun 2007
    Posts
    532
    Mentioned
    1 Post(s)
    Quoted
    68 Post(s)

    Default Elements 9th Java Assignment

    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();
    }
    }
    }
    Finished B.S. Program in Radiology!!

    Projects: A big one! Total secret! hehe

  2. #2
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    WellI see what the problem is. When the user selects let's say 1.. it will go to the method 'Kilometers', print the result, and then break from the switch statement, and exit the program. Try making a void method like this
    java Code:
    public static void loop() {
       
        Scanner keyboard = new Scanner (System.in);

        System.out.println("Enter a distance in meters: ");
        meters = keyboard.nextDouble();
        showMenu();
        choice = keyboard.nextInt();
        switch(choice)
        {
            case 1: showKilometers(meters);
                break;
            case 2:showInches(meters);
                break;
            case 3:showFeet(meters);
                break;
            case 4: quitProgram();
        }
        loop();
    }

    as you can see, it does the same thing, but at the end of the switch statement it will call itself again unless the user pressed 4 in which it will go to the quitProgram() method

    sorry the breaks are a little off, I can't get them to indent correctly but they are supposed to be lined up with the case like here


  3. #3
    Join Date
    Jan 2014
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Its been nice to go through your post.
    It has given me much knowledge & so many valuable information.

    I'm feeling very nice to be here. so enjoyable...

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •