report_lab3
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Разработка защищенного программного обеспечения
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №3
Обработка строк
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Студент:
(Ф.И.О., № группы) (подпись)
Преподаватель:
Цветков А.Ю.
(Ф.И.О) (подпись)
Цель лабораторной работы
Освоить работу с классами String и StringBuilder.
Освоить работу с составным оператором.
Используемое программное обеспечение
JDK 1.5 и выше.
Интегрированная среда разработки на Java.
Задание на лабораторную работу
Написать программу на Java, соответствующую заданию.
Проверить правильность работы программы.
Собрать исполняемый 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