I have to make a program that lets a user select between 4 options and then choose a distance of their choosing. It's trying to figure out how fast sound travels through certain objects. I have to have a demo program and a separate class.
As you will see I have a lot of repeating calculations. I'm just not sure what needs to be where, and I am not sure of what the output statement should be.
public class Sound
{
private final double air = 1100;
private final double water = 4900;
private final double steel = 16400;
double distance;
double time;
// no arg constructor
public Sound()
{
distance = 0.0;
}
//parameterized constructor
public Sound(double d)
{
distance = d;
}
//mutator methods
public void setDistance(double d)
{
distance = d;
}
//accessor methods
public double getSpeedInAir()
{
return distance / 1100;
}
public double getSpeedInWater()
{
return distance / 4900;
}
public double getSpeedInSteel()
{
return distance / 16400;
}
}
import java.util.Scanner;
import java.text.DecimalFormat;
public class SoundDemo
{
public static void main(String[] args)
{
double choice;
double time;
double distance;
Scanner keyboard = new Scanner(System.in);
System.out.print("Please choose 1. Air 2. Water 3. Steel 4. Quit ");
choice = keyboard.nextDouble();
System.out.print("What distance would you like to know? ");
distance = keyboard.nextDouble();
if (choice.equals("1"))
{
time = (distance / 1100);
System.out.println("The total time traveled is " + time + ".");
}
else if (choice.equals("2"))
{
time = (distance / 4900);
System.out.println("The total time traveled is " + time + ".");
}
else if (choice.equals("3"))
{
time = (distance / 16400);
System.out.println("The total time traveled is " + time + ".");
}
else if (choice.equals(" "))
{
System.out.println("Invalid input!");
}
}
}

Comment