From a96a8d7127ada02fa7a9405f36efa72173171d3c Mon Sep 17 00:00:00 2001 From: kikesda-dev Date: Mon, 30 Mar 2026 19:43:53 +0200 Subject: [PATCH] lab_java_week2 --- .idea/.gitignore | 3 + .idea/lab-java-basics.iml | 11 +++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 ++ .idea/vcs.xml | 7 ++ out/production/lab-java-basics/Employee.class | Bin 0 -> 1581 bytes out/production/lab-java-basics/Intern.class | Bin 0 -> 1741 bytes out/production/lab-java-basics/Main.class | Bin 0 -> 2734 bytes src/Employee.java | 26 ++++++ src/Intern.java | 34 ++++++++ src/Main.java | 76 ++++++++++++++++++ 11 files changed, 171 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/lab-java-basics.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 out/production/lab-java-basics/Employee.class create mode 100644 out/production/lab-java-basics/Intern.class create mode 100644 out/production/lab-java-basics/Main.class create mode 100644 src/Employee.java create mode 100644 src/Intern.java create mode 100644 src/Main.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/lab-java-basics.iml b/.idea/lab-java-basics.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/.idea/lab-java-basics.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..4eb4f51 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..505d07d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..8306744 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/out/production/lab-java-basics/Employee.class b/out/production/lab-java-basics/Employee.class new file mode 100644 index 0000000000000000000000000000000000000000..9d841bc19c14912bd53cc208dcc1eb1ee2e84259 GIT binary patch literal 1581 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 MAX_SALARY) { + System.out.println("Alerta: El salario excede el límite. Se ajustará al máximo permitido (" + MAX_SALARY + ")."); + return MAX_SALARY; + } + return salary; + } + + // Sobrescribimos el setter para proteger actualizaciones futuras + @Override + public void setSalary(double salary) { + if (salary > MAX_SALARY) { + System.out.println("Alerta de actualización: No se puede asignar " + salary + ". Se asignará " + MAX_SALARY + "."); + super.setSalary(MAX_SALARY); + } else { + super.setSalary(salary); + } + } + + @Override + public String toString() { + return "Intern [Name=" + getName() + ", Dept=" + getDepartment() + ", Salary=" + getSalary() + "]"; + } +} \ No newline at end of file diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..055c077 --- /dev/null +++ b/src/Main.java @@ -0,0 +1,76 @@ +public class Main { + public static void main(String[] args) { + + // --- Tarea 1 y 2: Pruebas de los algoritmos de Array --- + int[] numbers = {45, 12, 89, 2, 34, 1, 99, 12}; + + System.out.println("--- Arrays ---"); + System.out.println("Diferencia entre Max y Min: " + getDifference(numbers)); + printSmallestAndSecondSmallest(numbers); + System.out.println(); + + // --- Tarea 5: Crear 10 empleados (mezclando Employees e Interns) --- + System.out.println("--- Lista de Empleados ---"); + Employee[] company = new Employee[10]; + + company[0] = new Employee("Ana", "IT", 55000); + company[1] = new Employee("Luis", "HR", 42000); + company[2] = new Intern("Carlos", "Marketing", 15000); // Salario válido + company[3] = new Intern("Elena", "IT", 25000); // Salario inválido, se limitará a 20000 + company[4] = new Employee("Marta", "Sales", 60000); + company[5] = new Employee("Jorge", "Finance", 70000); + company[6] = new Intern("Pedro", "HR", 18000); + company[7] = new Employee("Sofia", "Legal", 80000); + company[8] = new Employee("Raul", "Sales", 52000); + company[9] = new Intern("Laura", "Design", 22000); // Salario inválido + + // Imprimir las propiedades de todos + for (int i = 0; i < company.length; i++) { + System.out.println(company[i].toString()); + } + } + + // Tarea 1: Diferencia entre el mayor y menor + public static int getDifference(int[] arr) { + if (arr == null || arr.length < 1) return 0; + + int min = arr[0]; + int max = arr[0]; + + for (int i = 1; i < arr.length; i++) { + if (arr[i] < min) { + min = arr[i]; + } + if (arr[i] > max) { + max = arr[i]; + } + } + return max - min; + } + + // Tarea 2: Encontrar el más pequeño y el segundo más pequeño + public static void printSmallestAndSecondSmallest(int[] arr) { + if (arr == null || arr.length < 2) { + System.out.println("El array debe tener al menos 2 elementos."); + return; + } + + int firstSmallest = Integer.MAX_VALUE; + int secondSmallest = Integer.MAX_VALUE; + + for (int i = 0; i < arr.length; i++) { + if (arr[i] < firstSmallest) { + secondSmallest = firstSmallest; + firstSmallest = arr[i]; + } else if (arr[i] < secondSmallest && arr[i] != firstSmallest) { + secondSmallest = arr[i]; + } + } + + if (secondSmallest == Integer.MAX_VALUE) { + System.out.println("No hay un segundo elemento más pequeño (todos son iguales)."); + } else { + System.out.println("Smallest: " + firstSmallest + " | Second Smallest: " + secondSmallest); + } + } +} \ No newline at end of file