Упражнения за извънаудиторна заетост

Задача 1

Създаите програма за служителите в една фирма.

За целта ще имате нужда от:

  • клас Служител, който да описва служител и неговите три имена, основна заплата и длъжност. Методи за достъп до полетата на класа. Метод за текстово представяне. (Пълното име на служителя)

  • клас Фирма, който да описва фирмата с нейните служители и имена. В конструктор който приема броя на служителите във фирмата, инициализирайте масива. Създайте два метода

    • getInfo() - който да връща като резултат информацията за фирмата със всички служители на фирмат. Използвайте конкатенация на стрингове

    • getInformation() - който да връща като резултат информацията за фирмата със всички служители на фирмат. Използвайте стрин буфер

    • getEmployees(String name) - Връща списък от имената на служителите, в койтро съществува подаденоето име

Проверете изпълнението на методите за различен брой служители във фирмата с System.out.println(java.time.LocalDateTime.now()); в началото и края на изпълнение на методите има ли разлика между String и StringBuilder?

Задача 2

Съставете програма за автомобилен паркиинг:

За целта ще имате нужда от:

  • клас Автомобил с номер, ширина и дължина

  • клас Камион с номер, ширина и дължина, товаро носимост

  • клас Автобус с номер, ширина и дължина, брой седящи места

Могат ли класовете да имат общ родителски клас?

  • клас паркинг, със списък от 1000 превозни средства.

  • конструктор, който приема входен параметър, форматиран стринг

    • Car:В4747КК,4,6;Truck:В4747КК,4,6,3;Bus:В4747КК,4,6,59

    • Разбелете стринга и за всеки тип превозно средство създайте обект в масива

  • Текстово представяне на паркинга, използвайте конкатениране на стринг или стринг буфер, в зависимост от това кой се е представил по добрре в първата задача

Задача 3

Направете система за блог, за целта ще се нуждаете от:

Клас редакция (Version), класа трябва да има полета за създател и редактирал, в който да се съхраняват имената на автор и имената на автор, който е направил редакция. Следвайте принципите за капсолация при създаването на обекти от класа.

Създайте клас за изключения, които възноикват в класа Version (VersionException). Класа за изключенията трябва да наследява базовия клас Exception и да прииема съобщение за грешка, катоп параметър на конструктора си.

Приложете класа за изключения VersionException при сетване на стойностио за полетата. Да се обработи нулева и празна стойност на полетата за създател и редактор, като се хвърля изключение с текст "Created by cannot be null" и "Modified by cannot be null"

Клас коментар (Comment), класа трябва да наследява Version и да има поле за съдържание. Следвайте принципите за капсолация при създаването на обекти от класа.

Създайте клас за изключения, които възноикват в класа Comment (CommentException). Класа за изключенията трябва да наследява базовия клас Exception и да прииема съобщение за грешка, катоп параметър на конструктора си.

Приложете класа за изключения CommentException при сетване на стойностио за полетата. Да се обработи нулева и празна стойност на полетата, като се хвърля изключение с текст "Comment cannot be empty"

Клас статия (Article), класа трябва да наследява Version и да има полета за заглавие, съдържание и масив от коментари до 50 коментара. Следвайте принципите за капсолация при създаването на обекти от класа.

Създайте клас за изключения, които възноикват в класа Article (ArticleException). Класа за изключенията трябва да наследява базовия клас Exception и да прииема съобщение за грешка, катоп параметър на конструктора си.

Приложете класа за изключения ArticleException при сетване на стойностио за полетата. Да се обработи нулева и празна стойност на полетата, като се хвърля изключение с текст "Article title cannot be empty", "Article content cannot be empty", "Comment cannot be null"

Създайте клас Blog със статичен масив от 1000 статии и име на автор. Конструктора приема името на автора, като параметър.

  • Метод, за добавяне на статия, метода и да предадат изключенията от класа Article

  • Метод за добавяне на коментар, по заглавие на статия и коментар, ако няма такава статия да се хвърли изключение "Missing article", и да се предадат изключенията от класа Comment

В main да се създадат два обекта Blog с различни автори и да се добавят, статии от двамата автори и коментари за тези статии. Обработете изключенията, като извеждате съобщенията за грешка в конзолата.

Last updated