Технологии программирования

Примеры кода

Репозитроий с программами

Лекции

Задачи

  1. Создайте функцию void suicide(int n), которая для четных чисел не делает ничего, для нечетных - бросает исключение Exception с сообщением “не люблю нечетные числа”. (вы можете придумать другой тест вместо чет/нечет). Вызовите это функцию для чисел от 1 до 100 и запишите в файл output.txt для каждого числа, случилось ли при вызове исключение. Файл должен выглядеть примерно так:
     1: исключение
     2: нет исключения
     3: исключение
     4: нет исключения
     ...
     100: нет исключения       
    
  2. Создайте функцию int readInt(String message), которая печатает пользователю сообщение message и ждет ввода числа. Если пользователь вводит не число, функция пишет «вы ввели не число», заново выводит сообщение message и снова ждет число. Так продолжается до тех пор, пока пользователь не введет число. Введенное число возвращается как результат функции. Для проверки задачи попросите пользователя ввести два числа, а потом выведите ему их сумму.
  3. Чтение и запись файлов в разных кодировках
    1. Один и тот же текст на русском языке (какой-нибудь) записать в файлы text_utf8.txt, text_win1251.txt, text_koi8r.txt в соответствующих кодировках.
    2. Прочитать каждый файл побайтово (Files.readAllBytes()) и вывести байты в файлы, соответственно, text_utf8.bin и т.п. Байты выводятся текстом через пробел, т.е. 128 210 30
    3. для файла в кодировке koi8r сделать следующее. Прочитать все его байты. Если какой-то байт < 0, то добавить к его значению 128. Записать полученные байты в новый файл text_koi7r.txt. Записывайте байты в виде байт, а не в виде текста, как требовала прошлая задача. Откройте полученный файл и посмотрите, что получилось.
  4. Задача — реализуйте интерфейс чата со списком контактов (см. пара) с помощью вложенных VBox и HBox.
  5. Реализуйте программу, которая показывает на экране круг и дает возможность изменять его размер, цвет и т.п. Окно приложения разделено на две части, в левой части находятся элементы управления для выбора цветов и размеров круга, в правой части находится круг. Нужны следующие элементы управления: Slider для выбора радиуса круга, два ColorPicker для выбора цвета круга и цвета фона. Добавьте заодно метки с текстом, чтобы было понятно, где радиус, где цвет фона, где цвет круга.
    1. Начните с создания левой части интерфейса, добавьте на левую панель все элементы интерфейса.
    2. Наполните правую часть интерфейса, она должна состоять из панели Pane, которая будет являться фоном и, соответственно, раскрашиваться и отвечать за цвет фона. На панели должен лежать Circle. Это такой узел, который изображается в виде круга указанного радиуса.
    3. Свяжите цвет из первого ColorPicker c цветом круга.
    4. Свяжите значение из Slider с радиусом круга.
    5. Свяжите цвет из второго ColorPicker c цветом фона.
    6. Свяжите координаты x и y круга с половиной, соответственно, ширины и высоты правой панели. Тем самым круг расположится ровно по центру панели.
    7. Свяжите максимальное значение слайдера выбора радиуса с максимально возможным радиусом круга, при котором круг все еще помещается на панель.
  6. Просмотр изображений.
    1. Создайте интерфейс программы просмотра изображений из каталога. Интерфейс состоит из:
      • ListView для предпросмотра всех изображений. Он находится слева, занимает всю высоту и некотурую фиксированную ширину.
      • Выбор каталога для просмотра. Это кнопка «Выбрать» справа сверху. И метка Label с выбранным путем к каталогу. Она занимает все пространство слева от кнопки до ListView.
      • Всё оставшееся пространство занимает панель Pane с лежащей на ней ImageView. Она используется для просмотра полного изображения.
    2. Для начала выберите какой-то фиксированный каталог с изображениями, напишите код, которй находит все изображения в этом каталоге и добавляет их в список.
    3. Сделайте так, что при выборе изображения в списке, оно отображается в ListView
    4. Сделайте так, что ListView при отображении элемента показывает картинку и имя файла. Используйте CellFactory и метод setGraphics(new ImageView(...)) у вашего анонимного класса, наследника ListCell.
    5. Сделайте так, что каталог можно выбирать. Используйте класс Directory Chooser.
    6. Сделайте так, что если в данный момент в списке нет ни одного изображения, список пишет «нет изображений».
    7. Сделайте так, что если не выбрано ни ондого зображения, в просмотрете изображения написано “выберите изображение”.
    8. Сделайте так, чтобы программа не ломалась при невозможности загрузить картинку, а как-то сообщала об этом пользователю.