Loading...
arnold avatar arnold 50 Точки

Animal Farm (C# OOP)

Закъсах с тази задача, не мърда от 75/100, ако някой може да помогне, ще съм много благодарен.

 

Program.cs, Main:

https://pastebin.com/tchvV83H

 

Клас Chicken:

https://pastebin.com/zEegvGEX

- Класът Chicken, трябва да се сложи в папка Models, използван е готов skeleton от SoftUni, може да се изтегли и от judge

 

https://judge.softuni.org/Contests/Compete/Index/1498#1

 

Animal Farm

For this problem, you have to download the provided skeleton.

You should be familiar with encapsulation already. For this problem, you’ll be working with the AnimalFarm project. It contains a class ChickenChicken contains several fields, a constructor, several properties, and methods. Your task is to encapsulate or hide anything unintended for viewing or modification from outside the class.

Step 1. Encapsulate Fields

Fields should be private. Leaving fields open for modification from outside the class is potentially dangerous. Make all fields in the Chicken class private. In case the value inside the field is needed elsewhere, use getters to reveal it.

Step 2. Ensure Classes Have a Correct State

Having getters and setters is useless if you don’t use them. The Chicken constructor modifies the fields directly, which is wrong when there are suitable setters available. Modify the constructor to fix this issue.

Step 3. Validate Data Properly

Validate the chicken’s name (it cannot be nullempty, or whitespace). In case of an invalid name, print the Exception message: "Name cannot be empty.".

Validate the age properly, minimum and maximum age are provided, make use of them. In case of an invalid age, print Exception message: "Age should be between 0 and 15.". Don’t forget to handle properly the possibly thrown Exceptions.

Step 4. Hide Internal Logic

If a method is intended to be used only by descendant classes or internally to perform some action, there is no point in keeping them public. The CalculateProductPerDay() method is used by the ProductPerDay public getter. This means the method can safely be hidden inside the Chicken class by declaring it private.

Step 5. Submit Code to Judge

Submit your code as a zip file in Judge. Zip everything except the bin and obj folders within the project and submit the single zip file in judge.

Examples

Input

Output

Molly

10

Chicken Molly (age 10) can produce 1 eggs per day.

Molly

17

Age should be between 0 and 15.

Тагове:
0
Module: C# Advanced 05/11/2021 17:52:45
arnold avatar arnold 50 Точки

Намерих игрешката, не търсете,  вместо string.IsNullOrEmpty(value), трябва да е string.IsNullOrWhiteSpace(value) smiley

1
05/11/2021 18:03:47
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.