Advertisement
Wmaykit

Untitled

Jan 7th, 2025
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4.  
  5.     public static void main(String[] args) {
  6.         System.out.println(textModifier());
  7.     }
  8.  
  9.     public static String textModifier() {
  10.         String result;
  11.  
  12.         result = removeExtraSpaces(new Scanner(System.in).nextLine());
  13.         result = swapCharsByMinus(result);
  14.         result = replacePlusesWithExclamationMarks(result);
  15.         return calculateSumm(result);
  16.     }
  17.  
  18.     private static String removeExtraSpaces(String str) {
  19.         if (str.length() == 0) {
  20.             return str;
  21.         }
  22.         StringBuilder sb = new StringBuilder();
  23.         for (int i = 0; i < str.length(); i++) {
  24.             if (str.charAt(i) == ' ' && str.length() > i + 1 && str.charAt(i + 1) == ' ') {
  25.             } else {
  26.                 sb.append(str.charAt(i));
  27.             }
  28.         }
  29.         return sb.toString();
  30.     }
  31.  
  32.     private static String swapCharsByMinus(String str) {
  33.         if (str.length() == 0) {
  34.             return str;
  35.         }
  36.         StringBuilder sb = new StringBuilder();
  37.         for (int i = 0; i < str.length(); i++) {
  38.             if (str.charAt(i) == '-' && i != 0 && i + 1 != str.length()) {
  39.                 sb.deleteCharAt(sb.length() - 1);
  40.                 sb.append(str.charAt(i + 1));
  41.                 sb.append(str.charAt(i - 1));
  42.                 i += 1;
  43.             } else {
  44.                 sb.append(str.charAt(i));
  45.             }
  46.         }
  47.         return sb.toString();
  48.     }
  49.  
  50.     private static String replacePlusesWithExclamationMarks(String str) {
  51.         StringBuilder sb = new StringBuilder();
  52.         for (int i = 0; i < str.length(); i++) {
  53.             if (str.charAt(i) == '+') {
  54.                 sb.append('!');
  55.             } else {
  56.                 sb.append(str.charAt(i));
  57.             }
  58.         }
  59.         return sb.toString();
  60.     }
  61.  
  62.     private static String calculateSumm(String str) {
  63.         StringBuilder sb = new StringBuilder();
  64.         Integer summ = null;
  65.         char currentChar;
  66.         for (int i = 0; i < str.length(); i++) {
  67.             currentChar = str.charAt(i);
  68.             if (currentChar >= '0' && currentChar <= '9') {
  69.                 summ = (summ == null ? (currentChar - '0') : summ + (currentChar - '0'));
  70.             } else {
  71.                 sb.append(currentChar);
  72.             }
  73.         }
  74.         if (summ != null) {
  75.             sb.append(' ');
  76.             sb.append(summ);
  77.         }
  78.         return sb.toString();
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement