Advertisement
tchenkov

L02u12CurrencyConverter v2

Apr 23rd, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Uprajnenie02_12 {
  4.     public static void main(String[] args) {
  5.        
  6.         Scanner scan = new Scanner(System.in);
  7.        
  8.         double cash = Double.parseDouble(scan.nextLine());
  9.         String startingCuracy = scan.nextLine().toUpperCase();
  10.         String convertToCuracy = scan.nextLine().toUpperCase();
  11.         double cashConverted = convert(cash, startingCuracy, convertToCuracy, true);
  12.        
  13.         System.out.printf("%.2f %s", cashConverted, convertToCuracy);
  14.     }    
  15.    
  16.     static double convert(double value, String startCuracy, String endCuracy, boolean isStart) {
  17.         final double toUsd = 1.79549;
  18.         final double toEur = 1.95583;
  19.         final double toGbp = 2.53405;
  20.        
  21.         String curancy = isStart ? startCuracy : endCuracy;
  22.         switch (curancy) {
  23.             case "BGN":
  24.                 break;
  25.             case "USD":
  26.                 value = multiplyOrDivide(value, toUsd, isStart);
  27.                 break;
  28.             case "EUR":
  29.                 value = multiplyOrDivide(value, toEur, isStart);
  30.                 break;
  31.             case "GBP":
  32.                 value = multiplyOrDivide(value, toGbp, isStart);
  33.         }
  34.        
  35.         return isStart ? convert(value, startCuracy, endCuracy, !isStart) : value;
  36.     }
  37.    
  38.     private static double multiplyOrDivide(double value, double modifier, boolean isMultiplying) {
  39.         return isMultiplying ? value * modifier : value / modifier;
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement