From 63f36cf7ea581667b2db83043192db2aca2800a8 Mon Sep 17 00:00:00 2001 From: igorfourier Date: Wed, 1 Apr 2026 14:19:52 +0200 Subject: [PATCH] Lab Week2 --- .idea/.gitignore | 8 +++ .idea/copilot.data.migration.ask2agent.xml | 6 +++ .idea/lab-java-basics.iml | 11 +++++ .idea/misc.xml | 6 +++ .idea/modules.xml | 8 +++ .idea/src/Employee.java | 39 +++++++++++++++ .idea/src/Intern.java | 20 ++++++++ .idea/src/Main.java | 34 +++++++++++++ .idea/src/Utils.java | 46 ++++++++++++++++++ .idea/vcs.xml | 6 +++ out/production/lab-java-basics/Employee.class | Bin 0 -> 1861 bytes out/production/lab-java-basics/Intern.class | Bin 0 -> 862 bytes out/production/lab-java-basics/Main.class | Bin 0 -> 1708 bytes out/production/lab-java-basics/Utils.class | Bin 0 -> 1609 bytes 14 files changed, 184 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/copilot.data.migration.ask2agent.xml create mode 100644 .idea/lab-java-basics.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/src/Employee.java create mode 100644 .idea/src/Intern.java create mode 100644 .idea/src/Main.java create mode 100644 .idea/src/Utils.java 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 out/production/lab-java-basics/Utils.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/copilot.data.migration.ask2agent.xml b/.idea/copilot.data.migration.ask2agent.xml new file mode 100644 index 0000000..1f2ea11 --- /dev/null +++ b/.idea/copilot.data.migration.ask2agent.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/lab-java-basics.iml b/.idea/lab-java-basics.iml new file mode 100644 index 0000000..d8d3b6f --- /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..8bfcdb7 --- /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/src/Employee.java b/.idea/src/Employee.java new file mode 100644 index 0000000..6a55057 --- /dev/null +++ b/.idea/src/Employee.java @@ -0,0 +1,39 @@ +public class Employee { + private String name; + private int id; + private double salary; + + + public Employee(String name, int id, double salary) { + setName(name); + this.id = id; + this.salary = salary; + } + + public String getName() { + return name; + } + public void setName(String name) { + if (name == null || name.isEmpty()) { + throw new NullPointerException("Name cannot be null or empty!!!!!"); + } + this.name = name; + } + + public int getId() { + return id; + } + public void setId(int id) { + this.id = id; + } + public double getSalary() { + return salary; + } + public void setSalary(double salary) { + this.salary = salary; + } + + public void printInfo() { + System.out.println("ID: " + id + ", Nombre: " + name + ", Salario: " + salary); + } +} diff --git a/.idea/src/Intern.java b/.idea/src/Intern.java new file mode 100644 index 0000000..41e3e75 --- /dev/null +++ b/.idea/src/Intern.java @@ -0,0 +1,20 @@ +class Intern extends Employee { + public static final double MAX_SALARY = 20000; + + public Intern(String name, int id, double salary) { + super(name, id, validateSalary(salary)); + } + + private static double validateSalary(double salary) { + if (salary > MAX_SALARY) { + System.out.println("Salario excede el máximo permitido para interns. Ajustando a " + MAX_SALARY); + return MAX_SALARY; + } + return salary; + } + + @Override + public void setSalary(double salary) { + super.setSalary(validateSalary(salary)); + } +} \ No newline at end of file diff --git a/.idea/src/Main.java b/.idea/src/Main.java new file mode 100644 index 0000000..ba69110 --- /dev/null +++ b/.idea/src/Main.java @@ -0,0 +1,34 @@ +import java.util.Random; + +public class Main { + public static void main(String[] args) { + + // --- Test arrays --- + int[] numbers = {5, 2, 9, 1, 7}; + + int diff = Utils.differenceMaxMin(numbers); + System.out.println("Diferencia entre mayor y menor: " + diff); + + Utils.findTwoSmallest(numbers); + + System.out.println("\n--- Empleados ---"); + + // Crear 10 empleados + Employee[] employees = new Employee[10]; + Random random = new Random(); + + for (int i = 0; i < employees.length; i++) { + if (i % 3 == 0) { + // Algunos serán interns + employees[i] = new Intern("Intern_" + i, i, 15000 + random.nextInt(10000)); + } else { + employees[i] = new Employee("Employee_" + i, i, 25000 + random.nextInt(20000)); + } + } + + // Imprimir todos los empleados + for (int i = 0; i < employees.length; i++) { + employees[i].printInfo(); + } + } +} \ No newline at end of file diff --git a/.idea/src/Utils.java b/.idea/src/Utils.java new file mode 100644 index 0000000..41cfba1 --- /dev/null +++ b/.idea/src/Utils.java @@ -0,0 +1,46 @@ +class Utils { + + // 1. Diferencia entre el mayor y el menor valor + public static int differenceMaxMin(int[] array) { + if (array.length < 1) { + throw new IllegalArgumentException("El array debe tener al menos un elemento"); + } + + int max = array[0]; + int min = array[0]; + + for (int i = 1; i < array.length; i++) { + if (array[i] > max) { + max = array[i]; + } + if (array[i] < min) { + min = array[i]; + } + } + + return max - min; + } + + // 2. Encontrar el menor y segundo menor + public static void findTwoSmallest(int[] array) { + if (array.length < 2) { + System.out.println("El array debe tener al menos dos elementos"); + return; + } + + int smallest = Integer.MAX_VALUE; + int secondSmallest = Integer.MAX_VALUE; + + for (int i = 0; i < array.length; i++) { + if (array[i] < smallest) { + secondSmallest = smallest; + smallest = array[i]; + } else if (array[i] < secondSmallest && array[i] != smallest) { + secondSmallest = array[i]; + } + } + + System.out.println("Menor: " + smallest); + System.out.println("Segundo menor: " + secondSmallest); + } +} diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ 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..2a07464a6c8b7d0b6fd19eca3e6960a56c16bbb9 GIT binary patch literal 1861 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 a_tO4=$#44WqQ5TV6P_6Ku0f)V{(k|7@RIQW literal 0 HcmV?d00001 diff --git a/out/production/lab-java-basics/Utils.class b/out/production/lab-java-basics/Utils.class new file mode 100644 index 0000000000000000000000000000000000000000..db84da910960cacce9f838c776e901ade9402600 GIT binary patch literal 1609 zcmaJ?O-~y~7=8vD);I=?6PF~Iu%#q5P6GY@hz%j3(73YuAycXfHPT=YX2W{d+8w8G z>ZL!Tw@Ro|F1@6OMxqkE^wfKQK>tFIJwTsXJH?17wr1v?ci)fadEc4cKaUTO0DOc` zk{CeDLOg{*3<;zk$;WcRm0okv}t(B(&Te>za{m|}swsMv6@{_QTG6+TlviZts z_?iwJuUVYi7{(aV7RFP^;NlsWwf#`57SZ_~g3WfF9e?3-dTRPB*(xTG6)3zEO@oM@ z!wHj^z-0?pQn+d$U5o&ojVWNYO$OJqkP{d`#a#BZYN{ai-O0&GhDDxE!N#is6D_%` zR(!86^;eGGp%iNA>CjLv&z&cofxxtdS%JYXwd2w*zT!8Oz*xoc)Tf=+mI~J8mP<{h z;@73SAp^(kd&;=pap+`KBJU!L)^N7BRiM1Os>;2p<1uo6vpiQ85Do{|!KhsV1Do8$ zT5`|K#&D#jWqr3Q+r8jp+m6>*|JJXyBu_xd%15C#1QOx@s?ku@eXnt9ldSojpsv;& z13DSunm2_bw)?)XLmkL=Rp}kS5hg&yi7HP@aK{!2EYhZ?njNpiDlfg zaNiVpMPT-{503ZP-&G6UBh;-rtl2nDTM*t;A|d)<8{udt^x9x<8BxQ+@!`h|G{8! zuFHj^_yIXEF29UAoUAIGnanFD^D|1 zrOeb~tV`#np~I(>i-yn>WV@V3jrzwvYJbsv@(|YmhM=4~BuXQjI(PXl@ihmcAHpPY z<+z*X3(qFA8BDQdv;5y+t#5NKlI>mUS6PKG$n6_yO@9pk337hU|6z}R1{J&;@z0{n siuLgyJBCI6*>S@^hW8m|03YB(uA`KeSdBZ;T;eAK?15m`j~V64e}m+4lK=n! literal 0 HcmV?d00001