Задание №5 Строки
Вариант А
1. В тексте нет слов, начинающихся одинаковыми буквами. Напечатать слова текста в таком порядке, чтобы последняя 6уква каждого слова совпадала с первой буквой последующего слова. Если все слова нельзя напечатать в таком порядке, найти так цепочку, состоящую из наибольшего количества слов.
2. Найти наибольшее количество предложений текста, в которых есть одинаковые слова.
3. Найти такое слово в первом предложении, которого нет ни в одном из остальных предложений.
4. Во всех вопросительных предложениях текста найти и напечатать без повторений слова заданной длины.
5. В каждом предложении текста поменять местами первое слово с последним, не изменяя длины предложения.
6. В предложении из n слов первое слово поставить на место второго, второе - на место третьего, и т.д., (n-1)-e слово - на место n -го, n е слово поставить на место первого. В исходном и преобразованном предложениях между словами должны быть или один пробел, или знак препинания и один пробел.
7. Текст шифруется по следующему правилу: из исходного текста выбираются 1, 4, 7, 10-й и т.д. (до конца текста) символы, затем 2, 5, 8, 11-й и т.д. (до конца текста) символы, затем 3, 6, 9, 12-й и т.д. Зашифровать заданный текст.
8. На основании правила кодирования, описанного в предыдущем примере, расшифровать заданный набор символов.
9. Напечатать слова русского текста в алфавитном порядке по первой букве. Слова, начинающиеся с новой буквы, печатать с красной строки.
10. Рассортировать слова русского текста по возрастанию доли гласных букв (отношение количества гласных к общему количеству букв в слове).
11. Слова английского текста, начинающиеся с гласных букв, рассортировать в алфавитном порядке по 1-й согласной букве слова.
12. Все слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым количеством расположить в алфавитном порядке.
13. Ввести текст и список слов. Для каждого слова из заданного списка найти, сколько раз оно встречается в тексте, и рассортировать слова по убыванию количества вхождений.
14. Все слова текста рассортировать в порядке убывания их длин. При этом все слова одинаковой длины рассортировать в порядке возрастания в них количества гласных букв.
Вариант В
Строки. Регулярные выражения
Написать приложение, которое демонстрирует работу с регулярными выражениям (обязательно использовать Pattern и Matcher).
Вариант №1 Написать регулярное выражение, определяющее, является ли данная строчка строкой "abcdefghijklmnopqrstuv18340" или нет.
Пример правильных выражений:
abcdefghijklmnopqrstuv18340
Пример неправильных выражений:
abcdefghijklmnoasdfasdpqrstuv18340
Вариант №2 Написать регулярное выражение, определяющее, является ли данная строчка GUID с или без скобок. Где GUID это строчка, состоящая из 8, 4, 4, 4, 12 шестнадцатеричных цифр разделенных тире.
Пример правильных выражений:
{e02fa0e4-01ad-090A-c130-0d05a0008ba0}
e02fd0e4-00fd-090A-ca30-0d00a0038ba0
Пример неправильных выражений:
02fa0e4-01ad-090A-c130-0d05a0008ba0}
e02fd0e400fd090Aca300d00a0038ba0
Вариант №3 Написать регулярное выражение, определяющее, является ли заданная строка правильным MAC-адресом.
Пример правильных выражений:
01:32:54:67:89:AB
aE:dC:cA:56:76:54
Пример неправильных выражений:
01:33:47:65:89:ab:cd
01:23:45:67:89:Az
Вариант №4 Написать регулярное выражение, определяющее, является ли данная строчка валидным URL адресом. В данной задаче правильным URL считаются адреса http и https, явное указание протокола также может отсутствовать. Учитываются только адреса, состоящие из символов, т.е. IP адреса в качестве URL не присутствуют при проверке. Допускаются поддомены, указание порта доступа через двоеточие, GET запросы с передачей параметров, доступ к подпапкам на домене, допускается наличие якоря через решетку. Однобуквенные домены считаются запрещенными. Запрещены спецсимволы, например «-» в начале и конце имени домена. Запрещен символ «_» и пробел в имени домена. При составлении регулярного выражения ориентируйтесь на список правильных и неправильных выражений заданных ниже.
Пример правильных выражений:
https://www.zcontest.ru
https://zcontest.ru
https://zcontest.com
https://zcontest.ru
https://sub.zcontest-ru.com:8080
https://zcontest.ru/dir%201/dir_2/program.ext?var1=x&var2=my%20value
zcon.com/index.html#bookmark
Пример неправильных выражений:
Just Text.
https://a.com
https://www.domain-.com
Вариант №5 Написать регулярное выражение, определяющее является ли данная строчка шестнадцатеричным идентификатором цвета в HTML. Где #FFFFFF для белого, #000000 для черного, #FF0000 для красного и.т.д.
Пример правильных выражений:
#FFFFFF
#FF3421
#00ff00
Пример неправильных выражений:
232323
f#fddee
#fd2
Вариант №6 Написать регулярное выражение, определяющее является ли данная строчка датой в формате dd/mm/yyyy. Начиная с 1600 года до 9999 года
Пример правильных выражений:
29/02/2000
30/04/2003
01/01/2003
Пример неправильных выражений:
29/02/2001
30-04-2003
1/1/1899
Вариант №7 Написать регулярное выражение, определяющее, является ли данная строчка валидным E-mail адресом согласно RFC под номером 2822
Пример правильных выражений:
mail@mail.ru
valid@megapochta.com
aa@aa.info
Пример неправильных выражений:
bug@@@com.ru
@val.ru
Just Text2
val@val
val@val.a.a.a.a
12323123@111[]][]
Вариант №8 Составить регулярное выражение, определяющее, является ли заданная строчка IP адресом, записанным в десятичном виде
Пример правильных выражений:
127.0.0.1
255.255.255.0
192.168.0.1
Пример неправильных выражений:
1300.6.7.8
abc.def.gha.bcd
254.hzf.bar.10
Вариант №9 Проверить, надежно ли составлен пароль. Пароль считается надежным, если он состоит из 8 или более символов. Где символом может быть английская буква, цифра и знак подчеркивания. Пароль должен содержать хотя бы одну заглавную букву, одну маленькую букву и одну цифру.
Пример правильных выражений:
C00l_Pass
SupperPas1
Пример неправильных выражений:
Cool_pass
C00l
Вариант №10 Проверить, является ли заданная строка шестизначным числом, записанным в десятичной системе счисления без нулей в старших разрядах.
Пример правильных выражений:
123456
234567
Пример неправильных выражений:
1234567
12345