Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Задание №1.1 Использование Eclipse

Сделать перспективу с именем Universal, чтобы она выглядела так (проверяется на уроке или присылай screenshots):

Задание №1.2 Простой контейнер для хранения объектов типа Object

Структура программы: /ru/nsu/fit/<фамилия>/container – пакет содержит в себе класс контейнера и вспомогательные классы /ru/nsu/fit/<фамилия>/seafight – пакет содержит в себе тестовые программы для тестирования класса контейнера Контейнер должен хранить элементы типа Object в односвязном списке и предоставлять следующие возможности: Имплементировать интерфейс

public interface Container {

public void add(Object obj); // Добавить элемент в конец

public Object remove(int index);

public Object get(int index);

public void clear();

public int size();

public int indexOf(Object obj);

public boolean contains(Object obj);

}

Функция contains() – функция поиска элемента в массиве. При поиске используется сравнение объектов с помощью метода boolean equals(Object obj) из класса Object, а не через оператор == Переопределить функцию toString() для печати списка элементов Тестовый пакет содержит класс для игры в морской бой на карте размерности 1х20. Программа должна работать так:

1.  Создавать список из 20 элементов класса Cell. Класс Cell содержит переменную типа int, определяющую тип клетки (еще не стреляли, подбитый корабль или промах). В зависимости от типа клетки функция toString() выводит соответствующий значок состояния. Функция equals() сравнивает объекты класса Cell по типу.

НЕ нашли? Не то? Что вы ищете?

2.  Создать еще один список и заполнить его координатами 5 однопалубных кораблей (корабли не могут быть рядом). Используйте функцию random() из класса java. lang. Math. для получения случайного чиса. Используйте Integer для хранения координаты.

3.  С помощью toString() контейнера вывести текущее состояние поля. Запросить поле для удара. Предупредить, если в поле уже ударяли.

4.  Проверить, что выстрел успешный, используя функцию contains() для списка с координатами кораблей. При успешном выстреле удалить координату корабля из списка и пометить соответствующую Cell в списке для представления игрового поля.

5.  Сообщить результат (промах/попал).

6.  Если все корабли подбиты, то вывести общее кол-во затраченных выстрелов и поздравительный текст. Начать игру заново.

7.  Если не было ни одного подбитого корабля (проверить с помощью contains()), а уже прошло 5 выстрелов, то пользователь проиграл. Если уже было сделано 12 выстрелов, то пользователь проиграл. При проигрыше вывести координаты оставшихся кораблей и огорчительный текст. Начать игру заново.

8.  Если еще остались целые корабли, то перейти на 3.

Необходимо использовать следующие техники: Не создавать открытых (public) членов класса. Использовать технологию getters and setters, где необходимо. Стараться как можно прочнее закрыть состояние класса от внешних воздействий. Пример setters/getters:

void setMember (int member) {…}

int getMember() {…}

Константы задаются с помощью public static final полей (размерность поля, кол-во кораблей и т. д.). Код для чтения данных с консоли:

try {

BufferedReader in = new BufferedReader(new InputStreamReader(System. in));

try {

String str = in. readLine();

… // в str находится считанная строка

} finally {

in. close();

}

} catch (IOException e) {

e. printStackTrace(); // необязательно

// дальнейшая обработка Exception или можно

// прокинуть выше, например throw new RuntimeException(e)

}

Классы BufferedReader и InputStreamReader лежат в пакете java. io.*

Данные вводятся (и выводятся) в Eclipse через вьюшку ‘Console’.

Дополнительные задание:

1.  Реализовать контейнер на основе динамического массива

2.  Определить в классе Cell функцию:

int compareTo(Cell cell)

и на ее основе реализовать функцию sort() для элементов контейнера.

Кто может, пусть использует интерфейс java. parable

Написать тестовый класс для проверки сортировки