All pastes #898223 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-02-10 04:27 UTC
rendered paste body
import java.util.Scanner;
import java.util.*;

public class BaumgartenRemy4expert {

	/**
	 * @author Remy Baumgarten
	 */
	public static void main(String[] args) {
		// Expert Mode
		
		//Creates a while loop to loop program if variable again = y
		String again = "y";
		while (again.equalsIgnoreCase("y") || again.equalsIgnoreCase("yes")) {
			
		
		//Wrap program for exception handling with try/catch statements
		try{  
			//Program output/question
			
			System.out.print("\nThis program converts US customary units of length to metric units of length\n" +
			"Enter a length (number) and units inch/inches/feet/foot/mile/miles) to convert: ");
	
			//Scanner to grab double amount, num; then to grab imperial type, imperial
			Scanner input = new Scanner(System.in);
			double num = input.nextFloat();
			String imperial = input.next();
		
		
			// toConvert == converting to 
			System.out.print("Convert " + imperial + " to centimeters, meters, or kilometers?: ");
			String metric = input.next();
		
			// From inches
			double inchCentimeters = 2.54;  // ie inches to centimeters
			double inchMeters = 0.0254;  
			double inchKilometers = 2.54E-5;
		
			// From Feet
			double footCentimeters = 30.48;
			double footMeters = 0.3048;
			double footKilometers = 0.0003048;
		
			// From Miles
			double milesCentimeters = 160934.4;
			double milesMeters = 1609.344;
			double milesKilometers = 1.609344;
		
		
			// Inches Conversion
			if (imperial.equalsIgnoreCase("inches")) {
				if (metric.equalsIgnoreCase("centimeters")) {
					System.out.println(num + " inches is " + num * inchCentimeters + " centimeters");
				} else if (metric.equalsIgnoreCase("meters")) {
					System.out.println(num + " inches is " + num * inchMeters + " meters");
				} else if (metric.equalsIgnoreCase("kilometers")) {
					System.out.println(num + " inches is " + num * inchKilometers + " kilometers");
				} else System.out.println("Please spell correctly and try again.");
			}
			if (imperial.equalsIgnoreCase("inch")) {
				if (metric.equalsIgnoreCase("centimeters")) {
					System.out.println(num + " inch is " + num * inchCentimeters + " centimeters");
				} else if (metric.equalsIgnoreCase("meters")) {
					System.out.println(num + " inch is " + num * inchMeters + " meters");
				} else if (metric.equalsIgnoreCase("kilometers")) {
					System.out.println(num + " inch is " + num * inchKilometers + " kilometers");
				} else System.out.println("Please spell correctly and try again.");
			}
		
			// Feet Conversion
			if (imperial.equalsIgnoreCase("feet")) {
				if (metric.equalsIgnoreCase("Centimeters")) {
					System.out.println(num + " feet is " + num * footCentimeters + " centimeters");
				} else if (metric.equalsIgnoreCase("Meters")) {
					System.out.println(num + " feet is " + num * footMeters + " meters");
				} else if (metric.equalsIgnoreCase("Kilometers")) {
					System.out.println(num + " feet is " + num * footKilometers + " kilometers");
				} else System.out.println("Please spell correctly and try again.");
			}
			if (imperial.equalsIgnoreCase("foot")) {
				if (metric.equalsIgnoreCase("Centimeters")) {
					System.out.println(num + " foot is " + num * footCentimeters + " centimeters");
				} else if (metric.equalsIgnoreCase("Meters")) {
					System.out.println(num + " foot is " + num * footMeters + " meters");
				} else if (metric.equalsIgnoreCase("Kilometers")) {
					System.out.println(num + " foot is " + num * footKilometers + " kilometers");
				} else System.out.println("Please spell correctly and try again.");
			}
		
			// Miles Conversion
			if (imperial.equalsIgnoreCase("miles")) {
				if (metric.equalsIgnoreCase("Centimeters")) {
					System.out.println(num + " miles is " + num * milesCentimeters + " centimeters");
				} else if(metric.equalsIgnoreCase("Meters")) {
					System.out.println(num + " miles is " + num * milesMeters + " meters");
				} else if(metric.equalsIgnoreCase("Kilometers")) {
					System.out.println(num + " miles is " + num * milesKilometers + " kilometers");
				} else System.out.println("Please spell correctly and try again.");
			}
			if (imperial.equalsIgnoreCase("mile")) {
				if (metric.equalsIgnoreCase("Centimeters")) {
					System.out.println(num + " mile is " + num * milesCentimeters + " centimeters");
				} else if(metric.equalsIgnoreCase("Meters")) {
					System.out.println(num + " mile is " + num * milesMeters + " meters");
				} else if(metric.equalsIgnoreCase("Kilometers")) {
					System.out.println(num + " mile is " + num * milesKilometers + " kilometers");
				} else System.out.println("Please spell correctly and try again.");
			}
			
			
			System.out.print("Would you like to make another conversion?  Types Y/N: ");
			again = input.next();
			
			
		//catch or result of exception that equals true
		}catch (InputMismatchException ime) {
			System.out.println("Please use the correct format: 23 feet or 15 inches");
		}
		 
		}
	}

}