АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Mon Apr 03 00:00:00 EEST 2006

Читайте также:
  1. Листинг 10.7. Типичный пример реализации файла cue-sheet
  2. Протокол комиссии по допуску

Апрель 2006 г.

Montag, 3. April 2006

05:45:16

Чтобы получить представление текущей даты во всех возможных региональных стандартах, можно воспользоваться следующим фрагментом кода:

Date d = new Date();

Locale[] locales =

DateFormat.getAvailableLocales();

for (Locale loc: locales) {

DateFormat df =

DateFormat. getDateInstance (DateFormat.FULL, loc);

System.out.println(loc.toString() + "---> "

+ df.format(d));

}

В результате будут выведены две сотни строк, каждая из которых представляет текущую дату в соответствии с региональным стандартом, выводимым перед датой с помощью инструкции loc.toString().

Задания к главе 7

Вариант A

1. В каждом слове текста k-ю букву заменить заданным символом. Если
k больше длины слова, корректировку не выполнять.

2. В русском тексте каждую букву заменить ее порядковым номером
в алфавите. При выводе в одной строке печатать текст с двумя пробелами между буквами, в следующей строке внизу под каждой буквой печатать ее номер.

3. В тексте после буквы Р, если она не последняя в слове, ошибочно напечатана буква А вместо О. Внести исправления в текст.

4. В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова.

5. В тексте после k-го символа вставить заданную подстроку.

6. После каждого слова текста, заканчивающегося заданной под­строкой, вставить указанное слово.

7. В зависимости от признака (0 или 1) в каждой строке текста удалить указанный символ везде, где он встречается, или вставить его после
k-гo символа.

8. Из небольшого текста удалить все символы, кроме пробелов, не являющиеся буквами. Между последовательностями подряд идущих букв оставить хотя бы один пробел.

9. Из текста удалить все слова заданной длины, начинающиеся на согласную букву.

10. Удалить из текста его часть, заключенную между двумя сим­волами, которые вводятся (например, между скобками ‘(’ и ‘)’ или между звездочками ‘*’ и т.п.).

11. В тексте найти все пары слов, из которых одно является об­ращением другого.

12. Найти и напечатать, сколько раз повторяется в тексте каждое слово, которое встречается в нем.

13. В тексте найти и напечатать n символов (и их количество), встречающихся наиболее часто.

14. Найти, каких букв, гласных или согласных, больше в каждом предложении текста.

15. В стихотворении найти количество слов, начинающихся и заканчиваю­щихся гласной буквой.

16. Напечатать без повторения слова текста, у которых первая и последняя буквы совпадают.

17. В тексте найти и напечатать все слова максимальной и все слова минимальной длины.

18. Напечатать квитанцию об оплате телеграммы, если стоимость одного слова задана.

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

20. В тексте найти первую подстроку максимальной длины, не со­держащую букв.

21. В тексте определить все согласные буквы, встречающиеся не более чем в двух словах.

22. Преобразовать текст так, чтобы каждое слово начиналось с заглавной буквы.

23. Подсчитать количество содержащихся в данном тексте знаков препинания.

24. В заданном тексте найти сумму всех встречающихся цифр.

25. Из кода Java удалить все комментарии (//, /*, /**).

26. Дан текст на английском языке. Пусть все слова встречаются четное количество раз, за исключением одного. Определить это слово. При сравнении слов регистр не учитывать.

27. Определить сумму всех целых чисел, встречающихся в заданном тексте.

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

29. Строка состоит из упорядоченных чисел от 0 до 100000, записанных подряд без пробелов. Определить, что будет подстрокой от позиции
n до m.

30. Определить количество вхождений заданного слова в текст, игнорируя регистр символов и считая буквы «е», «ё», и «и», «й» одинаковыми.

31. Преобразовать текст так, чтобы только первые буквы каждого предложения были заглавными.

32. Заменить в тексте все шаблоны типа %user%Бендер%/user% на
<a href=”http://www.my.by/search.htm?param=Бендер”>Бендер</a>.

33. В Java код добавить корректные getter и setter-методы для всех полей данного класса, при их отсутствии.

34. Вывести все предложения заданного текста в порядке возрастания
количества слов в каждом из них.

Вариант B

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

2. Найти наибольшее количество предложений текста, в которых есть одинаковые слова.

3. Найти такое слово в первом предложении, которого нет ни в одном из остальных предложений.

4. Во всех вопросительных предложениях текста найти и напеча­тать без повторений слова заданной длины.

5. В каждом предложении текста поменять местами первое слово с последним, не изменяя длины предложения.

6. В предложении из n слов первое слово поставить на место второго, второе – на место третьего, и т.д., (n-1)-е слово – на место n-го, n-е слово поставить на место первого. В исходном и преобразованном предложениях между словами должны быть или один пробел, или знак препинания и один пробел.

7. Текст шифруется по следующему правилу: из исходного текста выби­рается 1, 4, 7, 10-й и т.д. (до конца текста) символы, затем 2, 5, 8, 11-й
и т.д. (до конца текста) символы, затем 3, 6, 9, 12-й и т.д. Зашифровать заданный текст.

8. На основании правила кодирования, описанного в предыдущем примере, расшифровать заданный набор символов.

9. Напечатать слова русского текста в алфавитном порядке по первой
букве. Слова, начинающиеся с новой буквы, печатать с красной строки.

10. Рассортировать слова русского текста по возрастанию доли гласных букв (отношение количества гласных к общему количеству букв в слове).

11. Слова английского текста, начинающиеся с гласных букв, рассортировать в алфавитном порядке по первой согласной букве слова.

12. Все слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым коли­чеством расположить в алфавитном порядке.

13. Ввести текст и список слов. Для каждого слова из заданного списка найти, сколько раз оно встречается в тексте, и рассортировать слова по убыванию количества вхождений.

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

15. В тексте исключить подстроку максимальной длины, начинающуюся
и заканчивающуюся заданными символами.

16. Заменить все одинаковые рядом стоящие символы в тексте одним символом.

17. Вывести в заданном тексте все слова, расположив их в алфавитном
порядке.

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

19. Подсчитать, сколько раз заданное слово входит в текст.

20. Преобразовать каждое слово в тексте, удалив из него все последующие (предыдущие) вхождения первой (последней) буквы этого слова.

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

22. Текст из n2 символов шифруется по следующему правилу:

– все символы текста записываются в квадратную таблицу размерности n в порядке слева направо, сверху вниз;

– таблица поворачивается на 900 по часовой стрелке;

– 1-я строка таблицы меняется местами с последней, 2-я – с предпоследней и т.д.

– 1-й столбец таблицы меняется местами со 2-м, 3-й – с 4-м и т.д.

– зашифрованный текст получается в результате обхода результирующей таблицы по спирали по часовой стрелке, начиная с левого верхнего угла.

Зашифровать текст по указанному правилу.

23. На основании правила кодирования, описанного в предыдущем примере, расшифровать заданный набор символов.

24. Исключить из текста подстроку максимальной длины, начинающуюся и заканчивающуюся одним и тем же символом.

25. Осуществить сжатие английского текста, заменив каждую группу из двух или более рядом стоящих символов, на один символ, за которым следует количество его вхождений в группу. К примеру, строка hellowoooorld должна сжиматься в hel2owo4rld.

26. Распаковать текст, сжатый по правилу из предыдущего задания.

27. Определить, удовлетворяет ли имя файла маске. Маска может содержать символы ‘?’ (произвольный символ) и ‘*’ (произвольное количество произвольных символов).

28. Отсортировать слова в тексте по убыванию количества вхождений заданного символа, а в случае равенства – по алфавиту. Словом считать максимальную группу подряд стоящих не пробельных символов.

29. Буквенная запись телефонных номеров основана на том, что каждой цифре соответствует несколько английских букв: 2 – ABC, 3 – DEF, 4 – GHI, 5 – JKL, 6 – MNO, 7 – PQRS, 8 – TUV, 9 – WXYZ. Написать программу, которая находит в заданном телефонном номере подстроку максимальной длины, соответствующую слову из словаря.

30. В заданном тексте найти подстроку максимальной длины, являющуюся палиндромом, т.е. читающуюся слева направо и справа налево одинаково.

31. Осуществить форматирование заданного текста с выравниванием по левому краю. Программа должна разбивать текст на строки с длиной, не превосходящей заданного количества символов. Если очередное слово не помещается в текущей строке, его необходимо переносить на следующую.

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

33. Добавить к программе из предыдущего примера возможность переноса слов по слогам. Предполагается, что есть доступ к словарю, в котором для каждого слова указано, как оно разбивается на слоги.

34. Пусть массив содержит миллион символов и необходимо сформировать из них строку путем конкатенации. Определить время работы кода. Как можно ускорить процесс, используя класс StringBuffer?

35. Алгоритм Барроуза – Уиллера для сжатия текстов основывается на пре­образовании Барроуза – Уиллера. Оно производится следующим обра­зом: для слова рассматриваются все его циклические сдвиги, которые затем сортируются в алфавитном порядке, после чего формируется сло­во из последних символов отсортированных циклических сдвигов. К примеру, для слова JAVA циклические сдвиги – это JAVA, AVAJ, VAJA, AJAV. После сортировки по алфавиту получим AJAV, AVAJ, JAVA, VAJA. Значит, результат преобразования – слово VJAA. Реализо­вать программно преобразование Барроуза – Уиллера для данного слова.

36. Восстановить слово по его преобразованию Барроуза – Уиллера. К примеру, получив на вход VJAA, в результате работы программа должна выдать слово JAVA.

Тестовые задания к главе 7


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)