Скачиваний:
3
Добавлен:
09.04.2023
Размер:
29.44 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Инфокоммуникационных сетей и систем

Кафедра Защищенных систем связи

Дисциплина Разработка защищенного программного обеспечения

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №3

Обработка строк

(тема отчета)

Направление/специальность подготовки

10.03.01 Информационная безопасность

(код и наименование направления/специальности)

Студент:

(Ф.И.О., № группы) (подпись)

Преподаватель:

Цветков А.Ю.

(Ф.И.О) (подпись)

Цель лабораторной работы

  1. Освоить работу с классами String и StringBuilder.

  2. Освоить работу с составным оператором.

Используемое программное обеспечение

  1. JDK 1.5 и выше.

  2. Интегрированная среда разработки на Java.

Задание на лабораторную работу

  1. Написать программу на Java, соответствующую заданию.

  2. Проверить правильность работы программы.

  3. Собрать исполняемый jar и отправить на проверку.

Основное задание:

  • Заменить все буквы "ь" на "э"

  • Привести первое слово к верхнему регистру (Дом -> ДОМ)

  • Заменить третье слово на последовательность "*" той же длины

  • Удалить последнее слово (вместе с подчёркиванием)

  • Удалить символ с индексом 3

Листинг программного кода основного задания

public class Main {

    public static void main(String[] args) {

        String sourceText, processedText;

        sourceText = args[0];

        

        // Заменяем ь на э

        sourceText = sourceText.replace('ь', 'э');

        String words[] = sourceText.split("_");

        // Меняем всё слово на *

        words[2] = "*".repeat(words[2].length());

        // Приводим первое слово в апперкейс

        words[0] = words[0].toUpperCase();

        StringBuilder str = new StringBuilder();

        int i;  

        for (i = 0; i < words.length - 2; i++) {

            str.append(words[i]).append("_");

        }

           

        str = new StringBuilder();

        for (i = 0; i < words.length - 2; i++) {

            str.append(words[i]).append("_");

        }

        str.append(words[i]);

        // Удаляем символ с индексом 3

        str.deleteCharAt(3); 

        // Выводим результат на экран

        System.out.println(str.toString());

    }

}

Вариант дополнительного задания

  • Заменить все буквы "ь" на "э"

  • Привести первое слово к верхнему регистру (Дом -> ДОМ)

  • Заменить третье слово на последовательность "*" той же длины

  • Удалить последнее слово (вместе с подчёркиванием)

  • Удалить символ с индексом 3

  • Привести нечётные слова к верхнему регистру (Дом -> ДОМ)

  • Повернуть второе слово циклически на 1 символов вправо (Пример поворота на 2 символа: стена => насте)

Листинг программного кода дополнительного задания

public class Dop {

    public static void main(String[] args) {

        String sourceText, processedText;

        sourceText = args[0];

        

        // Заменяем ь на э

        sourceText = sourceText.replace('ь', 'э');

        String words[] = sourceText.split("_");

        // Меняем всё слово на *

        words[2] = "*".repeat(words[2].length());

        // Приводим первое слово в апперкейс

        words[0] = words[0].toUpperCase();

        StringBuilder str = new StringBuilder();

        //Привести нечетные слова к нижнему регистру

        for (int c = 0; c < words.length; c = c+2) {

            words[c] = words[c].toUpperCase();

        }

            

        //Повернуть второе слово циклически на 1 символ вправо

        str = new StringBuilder();

        str.append(words[1]);    

        words[1] = str.substring(1) + str.substring(0, 1);

        int i;

        for (i = 0; i < words.length - 2; i++) {

            str.append(words[i]).append("_");

        }

        str = new StringBuilder();

        for (i = 0; i < words.length - 2; i++) {

            str.append(words[i]).append("_");

        }

        str.append(words[i]);

        // Удаляем символ с индексом 3

        str.deleteCharAt(3); 

        // Выводим результат на экран

        System.out.println(str.toString());

    }

}

Вывод

Были освоены навыки работы с классами String и Stringbuilder. А также был изучен составной оператор.

Санкт-Петербург

2021

Соседние файлы в предмете Разработка защищенного программного обеспечения