From bc3c8396465b5da98b00443ca971667d9808bc3a Mon Sep 17 00:00:00 2001 From: slava Date: Sat, 6 Sep 2025 10:09:37 +0200 Subject: [PATCH] Lab finish --- src/Employee.java | 29 +++++++++++++++++++++++++++++ src/Task1.java | 27 +++++++++++++++++++++++++++ src/Task2.java | 28 ++++++++++++++++++++++++++++ src/Task5.java | 20 ++++++++++++++++++++ src/TestEmployees.java | 21 +++++++++++++++++++++ src/TestTrainee.java | 17 +++++++++++++++++ src/Trainee.java | 19 +++++++++++++++++++ 7 files changed, 161 insertions(+) create mode 100644 src/Employee.java create mode 100644 src/Task1.java create mode 100644 src/Task2.java create mode 100644 src/Task5.java create mode 100644 src/TestEmployees.java create mode 100644 src/TestTrainee.java create mode 100644 src/Trainee.java diff --git a/src/Employee.java b/src/Employee.java new file mode 100644 index 0000000..1c8ee38 --- /dev/null +++ b/src/Employee.java @@ -0,0 +1,29 @@ +public class Employee { + private String name; + private String position; + private double salary; + + public Employee(String name, String position, double salary) { + this.name = name; + this.position = position; + this.salary = salary; + } + + // Gett + public String getName() { return name; } + public String getPosition() { return position; } + public double getSalary() { return salary; } + + // Sett + public void setName(String name) { this.name = name; } + public void setPosition(String position) { this.position = position; } + public void setSalary(double salary) { this.salary = salary; } + + @Override + public String toString() { + return "Employee{name='" + name + "', position='" + position + "', salary=" + salary + "}"; + } + + + +} diff --git a/src/Task1.java b/src/Task1.java new file mode 100644 index 0000000..0c5ed15 --- /dev/null +++ b/src/Task1.java @@ -0,0 +1,27 @@ +public class Task1 { + public static int difference(int[] numbers) { + if (numbers.length == 0) { + throw new IllegalArgumentException("Array must have at least one element"); + } + + int min = numbers[0]; + int max = numbers[0]; + + for (int i = 1; i < numbers.length; i++) { + if (numbers[i] < min) { + min = numbers[i]; + } + if (numbers[i] > max) { + max = numbers[i]; + } + } + + return max - min; + } + + public static void main(String[] args) { + int[] arr = {4, 15, 30, 5, 9 }; + System.out.println("Difference = " + difference(arr)); + } +} + diff --git a/src/Task2.java b/src/Task2.java new file mode 100644 index 0000000..6af5011 --- /dev/null +++ b/src/Task2.java @@ -0,0 +1,28 @@ +public class Task2 { + public static void findTwoSmallest(int[] numbers) { + if (numbers.length < 2) { + System.out.println("Array must have at least two elements"); + return; + } + + int smallest = Integer.MAX_VALUE; + int secondSmallest = Integer.MAX_VALUE; + + for (int num : numbers) { + if (num < smallest) { + secondSmallest = smallest; + smallest = num; + } else if (num < secondSmallest && num != smallest) { + secondSmallest = num; + } + } + + System.out.println("Smallest: " + smallest); + System.out.println("Second smallest: " + secondSmallest); + } + + public static void main(String[] args) { + int[] arr = {13, 4, 7, 2, 20, 5}; + findTwoSmallest(arr); + } +} diff --git a/src/Task5.java b/src/Task5.java new file mode 100644 index 0000000..2a17137 --- /dev/null +++ b/src/Task5.java @@ -0,0 +1,20 @@ +public class Task5 { + public static void main(String[] args) { + Employee[] employees = new Employee[10]; + + employees[0] = new Employee("Alice", "Manager", 50000); + employees[1] = new Employee("Bob", "Developer", 40000); + employees[2] = new Employee("Charlie", "Tester", 30000); + employees[3] = new Trainee("David", "Intern", 25000); // salary limited + employees[4] = new Trainee("Eva", "Intern", 18000); + employees[5] = new Employee("Frank", "HR", 35000); + employees[6] = new Employee("Grace", "Developer", 42000); + employees[7] = new Employee("Hank", "Designer", 37000); + employees[8] = new Employee("Ivy", "Support", 28000); + employees[9] = new Employee("Jack", "Analyst", 45000); + + for (Employee e : employees) { + System.out.println(e); + } + } +} diff --git a/src/TestEmployees.java b/src/TestEmployees.java new file mode 100644 index 0000000..149d81d --- /dev/null +++ b/src/TestEmployees.java @@ -0,0 +1,21 @@ +public class TestEmployees { + public static void main(String[] args) { + + Employee emp1 = new Employee("Alice", "Manager", 50000); + + + Trainee trainee1 = new Trainee("Bob", "Intern", 25000); + + + Trainee trainee2 = new Trainee("Charlie", "Intern", 18000); + + + System.out.println(emp1); + System.out.println(trainee1); + System.out.println(trainee2); + + + trainee2.setSalary(30000); // обмежиться 20000 + System.out.println("After update: " + trainee2); + } +} diff --git a/src/TestTrainee.java b/src/TestTrainee.java new file mode 100644 index 0000000..eaf84ea --- /dev/null +++ b/src/TestTrainee.java @@ -0,0 +1,17 @@ +public class TestTrainee { + public static void main(String[] args) { + + Trainee t1 = new Trainee("David", "Intern", 50000); + + + Trainee t2 = new Trainee("Eva", "Intern", 18000); + + + System.out.println(t1); + System.out.println(t2); + + + t2.setSalary(35000); + System.out.println("After salary refresh: " + t2); + } +} diff --git a/src/Trainee.java b/src/Trainee.java new file mode 100644 index 0000000..8b95b29 --- /dev/null +++ b/src/Trainee.java @@ -0,0 +1,19 @@ +public class Trainee extends Employee { + private static final double MAX_SALARY = 20000; + + public Trainee(String name, String position, double salary) { + super(name, position, validateSalary(salary)); + } + + private static double validateSalary(double salary) { + if (salary > MAX_SALARY) { + return MAX_SALARY; + } + return salary; + } + + @Override + public void setSalary(double salary) { + super.setSalary(validateSalary(salary)); + } +}