Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class testTask1 {
- public static void main(String[] args) {
- System.out.println(textModifier());
- }
- public static String textModifier() {
- Scanner scan = new Scanner(System.in);
- String oldText = scan.nextLine(); // Считываем текст на входе , гдe oldText это строка входа
- StringBuilder newText = new StringBuilder();
- ; // StringBuilder изменяем в отличии от String
- int sumNum = 0;
- reWrite rw = new reWrite(); // переписывание текста
- TestA testA = new TestA(); // TestA - class; textA - метод
- TestB testB = new TestB();// TestB - class; textB - метод
- for (int i = 0; i < oldText.length(); i++) // проверка Теста А
- {
- char symbol = oldText.charAt(i);
- if (testA.spaceCheck(symbol)) //testA вызов класса, spaceCheck вызов метода boolean
- {
- newText.append(symbol);
- }
- }
- oldText = rw.noText(newText); // Очищаем newText и сохраняем старый текст
- for (int i = 0; i < oldText.length(); i++) // проверка Теста B
- {
- char symbol = oldText.charAt(i);
- if (testB.minusCheck(oldText, symbol, i, newText)) //testB вызов класса, minusCheck вызов метода boolean
- {
- char removedSymbol = newText.charAt(newText.length() - 1); // запоминаем символ перед -
- newText.deleteCharAt(newText.length() - 1); // удаляем его
- newText.append(oldText.charAt(i + 1)).append(removedSymbol); // вставляем символ после - и вставляем символ ,который был перед -
- i++; //Чтоб пропустить следующий символ после -
- } else {
- newText.append(symbol);
- }
- }
- oldText = rw.noText(newText); // Очищаем newText и сохраняем старый текст
- for (int i = 0; i < oldText.length(); i++) // проверка Теста C
- {
- char symbol = oldText.charAt(i);
- if (symbol == '+') {
- newText.append('!');
- } else {
- newText.append(symbol);
- }
- }
- oldText = rw.noText(newText); // Очищаем newText и сохраняем старый текст
- for (int i = 0; i < oldText.length(); i++) // проверка Теста D
- {
- char symbol = oldText.charAt(i);
- if (Character.isDigit(symbol)) {
- int num = symbol - '0'; // перевод из строки в число
- sumNum += num;
- } else {
- newText.append(symbol);
- }
- }
- if (sumNum != 0) // проверка на показ суммы чисел в конце
- {
- newText.append(' ').append(sumNum);
- }
- String result = newText.toString().trim();
- return result;
- }
- }
- class reWrite {
- public String noText (StringBuilder newText)
- {
- String oldText = newText.toString();
- newText.setLength(0);
- return oldText;
- }
- }
- class TestA //проверка по пробелу
- {
- private int countSpace = 0; //Счётчик пробелов
- public boolean spaceCheck (char symbol) {
- if (symbol == ' ') //Проверка по ТЗ буква А
- {
- if (countSpace == 0) {
- countSpace++;
- return true; // возврат к тому что добавляем пробел
- }
- else
- {
- return false; // возврат к тому что пропускаем символ
- }
- } else
- {
- countSpace = 0; // сброс счётчика
- return true;
- }
- }
- }
- class TestB //проверка по -
- {
- public boolean minusCheck(String oldTextModified, char symbol , int i, StringBuilder newText) {
- if (symbol == '-') // Проверка по ТЗ буква B
- {
- if (newText.length() > 0 && i + 1 < oldTextModified.length()) //проверка не находится ли - на границе}
- {
- return true;
- } else {
- return false;
- }
- }
- else {
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement