Домашние задания

Домашнее задание 1. Hello World

Тесты к домашним заданиям

  1. Установите JDK 17+
  2. Скопируйте один из вариантов HelloWorld, рассмотренных на практике.
  3. Откомпилируйте HelloWorld.java и получите HelloWorld.class.
  4. Запустите HelloWorld и проверьте его работоспособность.
  5. Создайте скрипт, компилирующий и запускающий HelloWorld из командной строки.

Домашнее задание 2. Сумма чисел

  1. Разработайте класс Sum, который при запуске из командной строки будет складывать переданные в качестве аргументов целые числа и выводить их сумму на консоль.
  2. Примеры запуска программы:
    java Sum 1 2 3
    Результат: 6
    java Sum 1 2 -3
    Результат: 0
    java Sum "1 2 3"
    Результат: 6
    java Sum "1 2" " 3"
    Результат: 6
    java Sum " "
    Результат: 0
    Аргументы могут содержать:
  3. При выполнении задания можно считать, что для представления входных данных и промежуточных результатов достаточен тип int.
  4. Перед выполнением задания ознакомьтесь с документацией к классам String и Integer.
  5. Для отладочного вывода используйте System.err, тогда он будет игнорироваться проверяющей программой.

Домашнее задание 3. Реверс

  1. Разработайте класс Reverse, читающий числа из стандартного ввода, и выводящий их на стандартный вывод в обратном порядке.
  2. В каждой строке входа содержится некоторое количество целых чисел (возможно ноль). Числа разделены пробелами. Каждое число помещается в тип int.
  3. Порядок строк в выходе должен быть обратным по сравнению с порядком строк во входе. Порядок чисел в каждой строке также должен быть обратным к порядку чисел во входе.
  4. Вход содержит не более 106 чисел и строк.
  5. Для чтения чисел используйте класс Scanner.
  6. Примеры работы программы:
    ВводВывод
    1 2
    3
    
    3
    2 1
    
    3
    2 1
    
    1 2
    3
    
    1
    
    2 -3
    
    -3 2
    
    1
    
    1     2
    3     4
    
    4 3
    2 1
    

Домашнее задание 4. Статистика слов

  1. Разработайте класс WordStatInput, подсчитывающий статистику встречаемости слов во входном файле.
  2. Словом называется непрерывная последовательность букв, апострофов (') и дефисов (Unicode category Punctuation, Dash). Для подсчета статистики слова приводятся к нижнему регистру.
  3. Выходной файл должен содержать все различные слова, встречающиеся во входном файле, в порядке их появления. Для каждого слова должна быть выведена одна строка, содержащая слово и число его вхождений во входном файле.
  4. Имена входного и выходного файла задаются в качестве аргументов командной строки. Кодировка файлов: UTF-8.
  5. Примеры работы программы:
    Входной файлВыходной файл
    To be, or not to be, that is the question:
    
    to 2
    be 2
    or 1
    not 1
    that 1
    is 1
    the 1
    question 1
    
    Monday's child is fair of face.
    Tuesday's child is full of grace.
    
    monday's 1
    child 2
    is 2
    fair 1
    of 2
    face 1
    tuesday's 1
    full 1
    grace 1
    
    Шалтай-Болтай
    Сидел на стене.
    Шалтай-Болтай
    Свалился во сне.
    
    шалтай-болтай 2
    сидел 1
    на 1
    стене 1
    свалился 1
    во 1
    сне 1