Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Java / Labs / lab5

.doc
Скачиваний:
45
Добавлен:
03.03.2016
Размер:
41.98 Кб
Скачать

Лабораторная работа №5

Тема: «Работа со строками в Java»

По курсу: «Введение в программирование на Java»

Цель работы: изучить особенности работы со строковым типом данных на Java

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

1. Разработать в программе следующие классы:

- класс, содержащий функцию main;

- класс для методов работы со строками;

- класс для методов тестирования, производный от класса основной программы.

2. Создать объекты классов программы и тестирования в функции main(). Все классы описать внутри отдельного пакета. Тесты должны запускаться вместе в тестами остальных лабораторных работ.

3. Выполнить и протестировать программу.

Содержание отчета:

1. Титульный лист.

2. Задание.

3. Ручной расчёт результата работы программы для всех тестов.

4. Распечатка программы.

5. Экранные формы.

Варианты заданий:

  1. Задана строка, содержащая символы, среди которых более одного раза встречаются символы x, y. Определить индекс n-ой буквы x, которая встречается после, m-ой буквы y.

  1. Задана строка символов определенной длины. Определить новую сроку, полученную после удлинения исходной на каждый встречаемый по одному разу символ и переворачивания. Пример: a=”abaс” rez = “ccabba”.

  1. Задана строка a. Преобразовать каждое слово в строке так, чтобы все предыдущие вхождения его последней буквы были заменены на заданный символ b. Пример

a=”минимум”,b=”.” => rez = “.ини.ум”.

  1. Задана строка, содержащая пробелы. Определить новую сроку, полученную после удаления всех ведущих и замыкающих пробелов, а также лишних пробелов между словами.

  1. Задана строка, содержащая полное имя файла, т.е. имя диска список каталогов (путь), имя и расширение. Выделить из этой строки имя файла (без расширения).

  1. Задана строка, содержащая полное имя файла, т.е. имя диска список каталогов (путь), имя и расширение. Выделить из этой строки расширение файла (без предшествующей точки).

  1. Задана строка a. Преобразовать каждое слово в строке так, чтобы каждые последующие вхождения его первой буквы были заменены на заданный символ b. Пример

a=”минимум”,b=”.” => rez = “мини.у.”.

  1. Заданы две строки a,b. Соединить исходные строки с записью длин. Пример: a=”abba”,b=”the” => rez = “abba4the3”.

  1. Задана строка символов x. Получить на выходе новую строку, полученную путем переворачивания и добавления в начало реальной длины, а в конец зарезервированной длины. Пример: x=”Test” => rez = “4tseT16”.

  1. Задана строка x. Получить новую строку, выбросив из исходной все вхождения символа y, используя функцию toCharArray.

Пример: x=”Tests” , y=”s” => rez = “Tet”.

  1. Задана строка x. Получить новую строку, добавив после каждого символа y заданный символ z. Пример: x=”Tests” , y=”s”, z=“f” => rez = “Tesftsf”.

  1. Задана строка x. Получить новую строку, перевернув каждое слово в исходной строке. Пример: x=”Test is best” => rez = “tseT si tseb”.

  1. Создать метод для преобразования строк с десятичными числами, при котором после каждой третьей цифры справа ставится запятая. Например, для исходной строки “1542729” метод должен возвращать строку ”1,542,729”.

  1. Изменить метод из предыдущего варианта так, чтобы при его вызове можно было указать символ-разделитель и количество цифр между разделителями.

  1. Написать функцию, которая получает строку, составляет новую строку, удалив из исходной все элементы, не являющимися цифрами.

  1. Дана строка, содержащая до 5 слов, в каждом из которых до 5 строчных латинских букв; между соседними словами — запятая, за последним словом — точка. Сформировать строку-результат, содержащую те слова, перед которыми в последовательности находятся только меньшие (по алфавиту) слова, а за ними — только большие.

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

  1. Дана строка, заканчивающаяся точкой. Подсчитать, сколько в ней слов.

  1. В данной строке найти количество слов, начинающихся с буквы s.

  1. Дана строка, содержащая текст. Найти самое длинное слово.

  1. Дана строка, заканчивающаяся точкой. Подсчитать в ней количество вхождений букв r.

  1. Дана строка. Преобразовать ее, удалив каждый символ x и повторив каждый символ, отличный от x.

  1. Дана строка. Подсчитать самую длинную последовательность подряд идущих букв a.

  1. Определить, правильно ли расставлены скобки в арифметическом выражении.

  1. Упорядочите слова заданного предложения, по возрастанию количества букв. Затем слова с одинаковым количеством букв упорядочите по алфавиту (лексикографически).

  1. Напишите программу, "угадывающую" слово из заранее заданного списка по первым нескольким буквам. Выдайте сообщение "неоднозначно", если есть несколько похожих слов.

  1. Составьте программу, укорачивающую слова исходной строки до заданной величины и помещающую результат в указанную строку. Пример:

x=”An article is a word that combines with a noun to indicate the type of reference.” , dl=4 =>

rez = “An arti is a word that comb with a noun to indi the type of refe.”.

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

  1. Зашифруйте символьную строку, состоящую из букв латинского алфавита, по коду Цезаря (А и а заменяется на D и d соответственно, В и b на Е и е, С и с на F и f ... X и х на А и а, У и у на B и b, Z и z на С и с).

  1. Дана строка. Получить выходную строку, содержащую сначала нечетные символы, затем четные символы исходной строки.

Соседние файлы в папке Labs