Skip to content

Посимвольная обработка строк в Java

Строки в Java — это последовательности символов, с которыми часто требуется выполнять различные операции. Посимвольная обработка строк позволяет работать с каждым символом строки отдельно, что даёт гибкость в решении различных задач, связанных с текстом.

Цель:

  • Научиться работать со строками на уровне отдельных символов.
  • Получить навыки обработки строковых данных в Java для решения типичных задач.

Задания:

  1. Пользователь вводит пять строк. Выведите слово, состоящее из первой буквы каждой строки.

Для этой задачи нам нужно получить пять строк от пользователя и составить новое слово, состоящее из первых букв каждой строки.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String result = "";

        for (int i = 0; i < 5; i++) {
            System.out.println("Введите строку " + (i + 1) + ": ");
            String input = scanner.nextLine();
            result += input.charAt(0);  // Берём первую букву
        }

        System.out.println("Новое слово: " + result);
    }
}
  1. Посчитайте количество нулей в числе.

Для этой задачи мы будем обрабатывать строку как число и считать, сколько раз встречается символ '0'.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите число: ");
        String number = scanner.nextLine();
        int count = 0;

        for (int i = 0; i < number.length(); i++) {
            if (number.charAt(i) == '0') {
                count++;
            }
        }

        System.out.println("Количество нулей: " + count);
    }
}
  1. Найдите первую гласную букву в слове.

Гласные буквы — это 'a', 'e', 'i', 'o', 'u' (и их заглавные варианты). Мы проверяем каждый символ и выводим первую найденную гласную.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите слово: ");
        String word = scanner.nextLine();
        String vowels = "aeiouAEIOU";

        for (int i = 0; i < word.length(); i++) {
            if (vowels.indexOf(word.charAt(i)) != -1) {
                System.out.println("Первая гласная: " + word.charAt(i));
                break;
            }
        }
    }
}
  1. Посчитайте количество согласных букв в слове.

Согласные буквы — это все буквы алфавита, за исключением гласных. Необходимо посчитать их количество в строке.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите слово: ");
        String word = scanner.nextLine();
        String vowels = "aeiouAEIOU";
        int consonantCount = 0;

        for (int i = 0; i < word.length(); i++) {
            char ch = word.charAt(i);
            if (Character.isLetter(ch) && vowels.indexOf(ch) == -1) {
                consonantCount++;
            }
        }

        System.out.println("Количество согласных: " + consonantCount);
    }
}
  1. Выведите слово наоборот, при этом столбиком.

Нужно вывести каждый символ строки на новой строке в обратном порядке.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите слово: ");
        String word = scanner.nextLine();

        for (int i = word.length() - 1; i >= 0; i--) {
            System.out.println(word.charAt(i));
        }
    }
}
  1. Замените все гласные в слове на ‘у’.

Для этой задачи нужно заменить каждый символ гласной на 'у' в строке.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите слово: ");
        String word = scanner.nextLine();
        String vowels = "aeiouAEIOU";
        String result = "";

        for (int i = 0; i < word.length(); i++) {
            char ch = word.charAt(i);
            if (vowels.indexOf(ch) != -1) {
                result += 'у';
            } else {
                result += ch;
            }
        }

        System.out.println("Результат: " + result);
    }
}
  1. Пользователь вводит дробное число, выведите его дробную часть.

Здесь мы разбиваем строку с помощью символа . и выводим всё, что идёт после него.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите дробное число: ");
        String number = scanner.nextLine();

        if (number.contains(".")) {
            String[] parts = number.split("\\.");
            System.out.println("Дробная часть: " + parts[1]);
        } else {
            System.out.println("Это не дробное число.");
        }
    }
}
  1. Пользователь вводит предложение. Замените в каждом слове этого предложения последнюю букву на ‘й’.

Для этого необходимо разделить предложение на слова, обработать каждое слово и заменить последнюю букву.

Пример решения:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите предложение: ");
        String sentence = scanner.nextLine();
        String[] words = sentence.split(" ");
        String result = "";

        for (String word : words) {
            if (word.length() > 1) {
                result += word.substring(0, word.length() - 1) + "й ";
            } else {
                result += "й ";  // Если слово состоит из одной буквы
            }
        }

        System.out.println("Результат: " + result.trim());
    }
}

Заключение

В этой лекции мы рассмотрели различные аспекты посимвольной обработки строк в Java. Важные навыки, которые были развиты: - Работа с отдельными символами строк. - Использование циклов и методов класса String для решения типичных задач. - Модификация строк и выполнение специфических операций с символами.

Эти примеры помогут лучше освоить работу со строками и научиться решать задачи, связанные с обработкой текста в Java.

пример

https://gitlab.com/synergy9980417/tema2_urok7