Professional Documents
Culture Documents
Kursova JABA
Kursova JABA
част „Java“
Подпис:.........................
Ръководител на проекта:..........................
/Елена Калчева/
Задание номер 2022049
1. **HourlyEmployee клас**:
- Прототип: `public class HourlyEmployee`
- Входни параметри: int number, String name, String education, double
hoursWorked, double hourlyPayRate
- Предназначение: Този клас представя информация за часовите служители.
Съдържа основни данни като идентификационен номер, име, образование,
работни часове и часова заплата. Също така включва методи за валидация на
входните данни и изчисляване на месечното възнаграждение.
2. **Test клас**:
- Прототип: `public class Test`
- Входни параметри: Няма
- Предназначение: Този клас е входната точка на програмата. Той създава
списък от часови служители, използвайки данните въведени от потребителя, и
извършва различни операции като извеждане на информация за всеки служител и
изчисляване на общото месечно възнаграждение за всички служители.
3. **ArrayList<HourlyEmployee> employees**:
- Прототип: `ArrayList<HourlyEmployee> employees`
- Входни параметри: Няма
- Предназначение: Този списък съхранява обектите от тип HourlyEmployee, които
представляват часовите служители, добавени от потребителя. Използва се за
управление на информацията за служителите в програмата.
4. **Scanner scanner**:
- Прототип: `Scanner scanner`
- Входни параметри: Няма
- Предназначение: Този обект от тип Scanner се използва за въвеждане на
данни от потребителя чрез конзолата. Използва се за четене на входните данни
за новите часови служители.
6. **try-catch блок**:
- Прототип: `try { ... } catch (Exception e) { ... }`
- Входни параметри: Няма
- Предназначение: Използва се за обработка на възможни грешки при
въвеждането на данни за служителите. В случай на грешка, програмата извежда
съобщение за невалидни данни.
7. **for цикъл за извеждане на информация за служителите**:
- Прототип: `for (HourlyEmployee employee : employees)`
- Входни параметри: Няма
- Предназначение: Този цикъл се използва за обхождане на списъка с часови
служители и извеждане на информация за всеки от тях, както и изчисляване и
извеждане на месечното им възнаграждение.
1. **Входни операции**:
- Потребителят въвежда следните данни за всеки часов служител:
- Номер на служителя (int)
- Име на служителя (String)
- Образование на служителя (String)
- Работни часове (double)
- Часова заплата (double)
2. **Изходни операции**:
- За всяко въведено от потребителя единица за часов служител:
- Програмата извежда информацията за служителя, включително неговия
номер, име, образование, работни часове и часова заплата.
- Изчислява месечното възнаграждение на служителя и го извежда.
- След като са въведени данните за всички служители, програмата изчислява
общото месечно възнаграждение за всички часови служители и го извежда.
try {
HourlyEmployee employee = new HourlyEmployee(number, name,
education, hoursWorked, hourlyPayRate);
employees.add(employee);
} catch (Exception e) {
System.out.println("Invalid input: " + e.getMessage());
}
}
Контролни примери: