1. /**
  2. * @author Jose M Vidal <jmvidal@gmail.com>
  3. *
  4. */
  5. import java.util.Scanner;
  6. 
  7. 
  8. public class Distance {
  9. 
  10. /**
  11. * We accept distances in: m cm mm km. For example:
  12. * 3m
  13. * 5cm
  14. * 444.33m
  15. * 22.12km
  16. *
  17. * @param args
  18. */
  19. public static void main(String[] args) {
  20. Scanner keyboard = new Scanner(System.in);
  21. System.out.print("Enter distance:");
  22. String distance = keyboard.nextLine();
  23. distance.toLowerCase();
  24. String number; //the number part of the distance
  25. String lastTwo = distance.substring(distance.length() - 2);
  26. double scale = 1.0; //our multiplicative factor, set to 1.0 for meters by default.
  27. if (lastTwo.equals("cm")) {
  28. scale = 0.01;
  29. number = distance.substring(0, distance.length() - 2); //ignore last 2 characters
  30. }
  31. else if (lastTwo.equals("mm")) {
  32. scale = 0.001;
  33. number = distance.substring(0, distance.length() - 2);
  34. }
  35. else if (lastTwo.equals("km")) {
  36. scale = 1000.0;
  37. number = distance.substring(0, distance.length() - 2);
  38. }
  39. else {//we assume it is meters, as in 44m
  40. scale = 1.0;
  41. number = distance.substring(0, distance.length() - 1); //only 1 character
  42. }
  43. double distanceInMeters = Double.parseDouble(number) * scale;
  44. System.out.println("You entered " + distanceInMeters + " meters.");
  45. }
  46. 
  47. }