расширить задачу про котов и тарелки с едой java
stdimensiy / GeekBrains_Course_JavaCoreForAndroid_HW_Lesson_6 Go PK Goto Github PK
GeekBrains_Course_JavaCoreForAndroid_HW_Lesson_6’s Introduction
Домашняя работа к занятию №6
Студента GeekBrains Веремеенко Дмитрия
Факультет: Android-разработки
Курс: Java Core для Android
Отчет о выполнении:
✔️ Задача №1. Задание выполнено. Задача расширена. Добавлены некоторые материалы урока в части генерации и обработки исключений собственных исключений. Добавлено взаимодействие объектов котов и миски.
✔️ Задача №2. Задание выполнено. Дважды реализована защита от логической ошибки в части отрицательной еды в миске. Первый раз в части взаимодействия кота, который не станет есть если в миске недостаточно для него еды. Второй раз с применением генерируемого собственного исключения DishCustomException в случае если из миски мы таки пытаемся достать количество еды которого там нет.
✔️ Задача №3. Задание выполнено и немного модифицировано. Поле сытость типа boolean заменено вычисляемым состоянием опирающимся на значение аппетита (вместительности кота) и его текущей загруженности. Т.е. согласно заложенного алгоритма, если кот заполнено менее чем на 90% он будет есть ровно столько чтобы насытится на 100%, в противном случае он кушать не пойдет.
✔️ Задача №4. Задание выполнено. Реализован режим «чувства собственного достоинства» кота, когда в тарелке еды недостаточно для удовлетворения его потребности, он остается голодным, но есть не пойдет.
✔️ Задача №5. Задание выполнено. Массив котов создан, объект тарелка создан изначально пустым, и наполняется едой только тогда когда метод опроса котов на предмет наличия голодных выявит потребность.
✔️ Задача №6. Задание выполнено. Метод добавлен. Дополнительно метод снабжен возможностью бросать исключение в случае когда мы пытаемся положить в миску количество еды превышающее ее допустимый объем.
Igor Sagot86
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package less6Threads; |
import java.util.concurrent.*; |
public class MainApp6 < |
private static final int SIZE = 10200111; |
private static final int NUMOFTHREADS = 4; |
public static void main(String[] args) < |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package less6Threads; |
import java.util.concurrent.*; |
public class MainApp6 < |
private static final int SIZE = 10000000; |
private static final int HALF = SIZE / 2; |
public static void main(String[] args) < |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package less6Threads; |
import java.util.concurrent.*; |
public class MainApp6 < |
private static final int SIZE = 10000000; |
private static final int HALF = SIZE / 2; |
public static void main(String[] args) < |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package less4Generics; |
import java.util.ArrayList; |
import java.util.Arrays; |
import java.util.List; |
public class MainApp4 < |
public static void main(String[] args) < |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
/** |
* |
* 1. Расширить задачу про котов и тарелки с едой |
* 2. Сделать так, чтобы в тарелке с едой не могло получиться отрицательного количества еды (например, в миске 10 еды, а кот пытается съесть 15-20) |
* 3. Каждому коту нужно добавить поле сытость (когда создаем котов, они голодны). Если коту удалось поесть (хватило еды), сытость = true |
* 4. Считаем, что если коту мало еды в тарелке, то он ее просто не трогает, то есть не может быть наполовину сыт (это сделано для упрощения логики программы) |
* 5. Создать массив котов и тарелку с едой, попросить всех котов поесть из этой тарелки и потом вывести информацию о сытости котов в консоль |
* 6. Добавить в тарелку метод, с помощью которого можно было бы добавлять еду в тарелку |
* |
* Задача немного видоизменена: реализован 24х часовой цикл кормления. Разные коты имеют разный аппетит, если кот голоден, но еды не хватает, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
import java.util.Scanner; |
/** |
* Орлов |
*/ |
// 1. Реализовать функцию перевода из 10 системы в двоичную используя рекурсию. |
public class HomeworkAlg2 < |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
/** Орлов. Д/З на Java */ |
import java.util.Scanner; |
import java.math.*; |
/** 14. * Автоморфные числа. Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, 25 \ :sup: 2 = 625. Напишите программу, которая вводит натуральное число N и выводит на экран все автоморфные числа, не превосходящие N. */ |
/** Пришлось использовать BigDecimal вместо int из-за ограничения размеров числа */ |
public class HomeworkAlg1 < |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
stdimensiy / GeekBrains_Course_JavaCoreForAndroid_HW_Lesson_6 Go PK Goto Github PK
GeekBrains_Course_JavaCoreForAndroid_HW_Lesson_6’s Introduction
Домашняя работа к занятию №6
Студента GeekBrains Веремеенко Дмитрия
Факультет: Android-разработки
Курс: Java Core для Android
Отчет о выполнении:
✔️ Задача №1. Задание выполнено. Задача расширена. Добавлены некоторые материалы урока в части генерации и обработки исключений собственных исключений. Добавлено взаимодействие объектов котов и миски.
✔️ Задача №2. Задание выполнено. Дважды реализована защита от логической ошибки в части отрицательной еды в миске. Первый раз в части взаимодействия кота, который не станет есть если в миске недостаточно для него еды. Второй раз с применением генерируемого собственного исключения DishCustomException в случае если из миски мы таки пытаемся достать количество еды которого там нет.
✔️ Задача №3. Задание выполнено и немного модифицировано. Поле сытость типа boolean заменено вычисляемым состоянием опирающимся на значение аппетита (вместительности кота) и его текущей загруженности. Т.е. согласно заложенного алгоритма, если кот заполнено менее чем на 90% он будет есть ровно столько чтобы насытится на 100%, в противном случае он кушать не пойдет.
✔️ Задача №4. Задание выполнено. Реализован режим «чувства собственного достоинства» кота, когда в тарелке еды недостаточно для удовлетворения его потребности, он остается голодным, но есть не пойдет.
✔️ Задача №5. Задание выполнено. Массив котов создан, объект тарелка создан изначально пустым, и наполняется едой только тогда когда метод опроса котов на предмет наличия голодных выявит потребность.
✔️ Задача №6. Задание выполнено. Метод добавлен. Дополнительно метод снабжен возможностью бросать исключение в случае когда мы пытаемся положить в миску количество еды превышающее ее допустимый объем.
Программа вводит с клавиатуры данные про котов и выводит их на экран
Помогите пожалуйста исправить программу, чтобы компилировалась и работала
Задача: Программа вводит с клавиатуры данные про котов и выводит их на экран.
Пример:
Cat name is Barsik age is 6, weight is 5, tail = 22
Cat name is Murka age is 8, weight is 7, tail = 20
Программа вводит с клавиатуры шесть раз пары чисел A и B вычисляет их сумму и выводит на экран результат
Ребяяяят,помогите пожалуйста. Ничего не понимаю. программа вводит с клавиатуры шесть раз пары.
Программа вводит 10 строк, выводит на экран слияния 1 и 10 строки, 2 и 9, и т.д.
Программа вводит 10 строк, выводит на экран слияния 1 и 10 строки, 2 и 9, и т.д.
Разработать программу, которая вводит фактические данные из таблицы и выводит на экран таблицу
Помогите сделать это задание(желательно в Visual Studio). 1. Разработать программу, которая.
При добавление в 15 строку эту запись происходит ошибка компиляции,(
Добавлено через 1 минуту
И если в конструкторе оставляю только String name тоже ошибка
Enter name:
cat1
Enter age:
12
Enter weight:
20
Enter tail length:
25
Enter name:
cat2
Enter age:
14
Enter weight:
35
Enter tail length:
56
Enter name:
Cat name is cat1, age is 12, weight is 20, tail = 25
Cat name is cat2, age is 14, weight is 35, tail = 56
свои ошибки сами найдете, либо возникают вопросы?
Пользователь вводит с клавиатуры слово длинной больше 7 символов. Программа выводит 4-7 символы этого слова на
Пользователь вводит с клавиатуры слово длинной больше 7 символов. Программа выводит 4-7 символы.
Пользователь вводит цифру. Программа выводит на экран её представление прописью
Пользователь вводит цифру. Программа выводит на экран её представление прописью. Например, если.
Написать программу, которая вводит текст с клавиатуры, и выводит на экран только предложения, состоящие из заданного количества слов
Здравствуйте, помогите пожалуйста с написанием данной программы:) А то ничего не получается.
Практические задачи по Java — для курсов и прочих занятий
Практические задачи по Java — для курсов и прочих занятий
Несколько вводных слов
Последние несколько лет я читаю курс по программированию на Java. Со временем он менялся — то добавлялись, то выкидывались разные части, менялась последовательность тем, менялся подход к построению плана самих занятий, и так далее. То есть, курс совершенствовался. Одной из основных проблем, возникших при подготовке курса — это задачи. О них и пойдёт речь.
Дело в том, что каждое моё занятие состоит из двух частей. На первой я выступаю в роли лектора — рассказываю с примерами кода о какой-то новой теме (классы, наследование, дженерики и так далее). Вторая часть — практическая. Очевидно, что нет смысла просто рассуждать о программировании, надо программировать. Приоритет на занятиях — решение задач, то есть программирование чего-то как-то. Программирование на занятиях отличается от программирования дома, так как на занятиях можно задать вопрос, показать код, получить быструю оценку кода, комментарии по улучшению, исправлению написанного. Очень легко было найти задачи для самых первых занятий. Задачи на циклы, условные операторы, и ООП (к примеру, написать класс «Собака» или класс «Вектор»). Сервисы вроде leetcode позволяют даже проверить правильность решения таких задач сразу, онлайн. Но какие задачи дать студентам на занятии, которое было посвящено коллекциям? Потокам? А аннотациям? За несколько лет я придумал, или переработал несколько таких задач, и эта статья, по сути, является сборником этих задач (к некоторым задачам прилагается решение).
Конечно, все задачи уже где-то появлялись. Однако, эта статья ориентирована на преподавателей курсов по программированию (для языков, похожих на Java, большинство задач подойдёт), или тех, кто преподаёт программирование частным образом. Эти задачи можно использовать «из коробки» на своих занятиях. Изучающие Java тоже могут попробовать решать их. Но такие решения требуют сторонней проверки и оценки.
Некоторые самые простые задачи, которые уже десятилетия все используют, я тоже включил в эту статью. Пожалуй, для того, чтобы не начинать сразу с абстрактных классов.