desislava_topuzakova

08. Letters Change Numbers

Mar 14th, 2021
878
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. import java.math.BigInteger;
  2. import java.util.Locale;
  3. import java.util.Scanner;
  4.  
  5. public class demo {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         double totalSum = 0;
  9.         String input = scanner.nextLine();
  10.         //A12b s17G
  11.         String[] words = input.split("\\s+");
  12.         //["A12b", "s17G"]
  13.         for (String word : words) {
  14.             //изчисляваме колко сме спечелили от думата
  15.             double sumOfWord = getWordSum(word);
  16.             totalSum += sumOfWord;
  17.         }
  18.  
  19.         System.out.printf("%.2f", totalSum);
  20.  
  21.  
  22.     }
  23.  
  24.     private static double getWordSum(String word) {
  25.         //"A12b"
  26.         double result = 0;
  27.         char firstLetter = word.charAt(0); //A
  28.         char secondLetter = word.charAt(word.length() - 1);//b
  29.         double number = Double.parseDouble(word.substring(1, word.length() - 1));//"12"
  30.  
  31.         //първата буква
  32.         if(Character.isUpperCase(firstLetter)) {
  33.             //number / позиция на символа в азбука
  34.             result = number / (firstLetter - 64);
  35.             number = result;
  36.         } else if(Character.isLowerCase(firstLetter)) {
  37.             result = number * (firstLetter - 96);
  38.             number = result;
  39.         }
  40.  
  41.         //втората буква
  42.         if(Character.isUpperCase(secondLetter)) {
  43.             result = number - (secondLetter - 64);
  44.             number = result;
  45.         } else if(Character.isLowerCase(secondLetter)){
  46.             result = number + (secondLetter - 96);
  47.             number = result;
  48.         }
  49.  
  50.         return result;
  51.     }
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment