From 23457cdbbf1763e2652c9423b64976e70dbd7893 Mon Sep 17 00:00:00 2001 From: Frangithub90 Date: Mon, 30 Mar 2026 11:48:06 +0200 Subject: [PATCH 1/2] Lab_Week2 --- .idea/.gitignore | 10 ++++ .idea/lab-java-basics.iml | 11 ++++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 ++ .../lab-java-basics/ArrayLogic.class | Bin 0 -> 1567 bytes out/production/lab-java-basics/Employee.class | Bin 0 -> 2032 bytes out/production/lab-java-basics/Intern.class | Bin 0 -> 847 bytes out/production/lab-java-basics/Main.class | Bin 0 -> 2656 bytes src/ArrayLogic.java | 49 ++++++++++++++++ src/Employee.java | 44 ++++++++++++++ src/Intern.java | 32 ++++++++++ src/Main.java | 55 ++++++++++++++++++ 13 files changed, 221 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/ArrayLogic.class 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/ArrayLogic.java 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..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ 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..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/ArrayLogic.class b/out/production/lab-java-basics/ArrayLogic.class new file mode 100644 index 0000000000000000000000000000000000000000..aaad40cbdbacc9ad59f5811e26066d12a1079663 GIT binary patch literal 1567 zcmaJ>L2nyX5dL1)>$M%%c3n(J>?AHtY3wvMloHz74zzBgT5c`AY3&q(_0qM<_qglL=ZI)i(?$|x7=I%uBUqR zvIh*xGy@>hE`RBmme=weC3}?!5(4vUJ1Q?7NABl)1J}#%$UW*_zN;j)TY1%0J!N@r zDTWj-8%W1-1@8!4xd2hX===Cxiz(+vIfLSv(6l<0!n%QX1umbmYFM7?C`bEYI2@+g zg2_0hkQJEd$z4^qt+w>OF})p1t|wWAkJ~7mM@~av(!h*B?7q*XX?M)FK&WnSDS>3u zwAAXLx2c>px!I*9-L%`XyDlBm*N=@MZ^vYYc=HsZB5@%bPVtD-!V(=8WJcXi4twMdB^>lip-m4 zMIYb>5m*7{QQ#iOO`hFgeJNTND2>qqBIuFVhzcQ6u~*C!#Uk+n7Gj(}27NlkBmDsJ zUtpv!{fgwv^h7m1Q7f)49xa8mB|W2ONb=@lMlUUeGhy-?&(<>G>T{$s;T!{L`w2X$ zJ=4kWPvT?`Ndm;8oI6A=ko_i)NH3EV|150w6bsB!nrY&G-mWag4_6ndxFwEVk`yg9ehq(jQV}lS<&RbHSJ%a literal 0 HcmV?d00001 diff --git a/out/production/lab-java-basics/Employee.class b/out/production/lab-java-basics/Employee.class new file mode 100644 index 0000000000000000000000000000000000000000..57921cbd5b62a9259f111c78d13fc93ccaf4ab2f GIT binary patch literal 2032 zcma)6+fv(R5dMCjBnvqZ2S_-SI4xjXK-}{Ir)d-0G$e*}YKBh9@v33`*6wlk%j$weQakC6xIbXSs%u}!BJ(ysR3!?(NNufP9!{TF~5b~VHhSCG(= zL`q=lg?uSXwsek5PY++1OpHTyLAgC?%g&jAsIqxR$1H9NXqLCtwe3BtMTy0M zia9Q|^L72{ceR>|1pz%*V2=%UDXMr&02(E@ts{p!0?M)Jf8*K|JzXe{V#-qQ@90>@ ziong5JT)t>)0FX@RG2x$B)PPp+t*0!Iq>*gXijrO^XU0_LN<6w=HKI)s3#tNXI_p^yg(?Tq!GXX89bD`#Q3%khz8kWE1AXaty*+s>kZJg`dAcLp z0c-{LF7dAyp*7rYr)h3k+-|1V(Oo7Q`9E}B-}5`Ny<_?(?vbbBfxz;1bu*V2`Sl#* zkJJ$EW=_2M;Z-gt#AFH;4OP?>Y%v$UqPPq8TFy)N)GUP{LV9e;rtdOYe;gcLPf6wC#rFo3v$p+i}cJ#g?9D zdI}y3tc>(D4yuB>z|w!a(sd2{!X3J5F}gzudeeV^v>0FTK+?SqBwb{Z6ClQ6mEL*! z`W|tlNX{F7LKti3P>l6+WQ^iDri_{7Ii`OLVhijOc&4d_hBW25M)_|bgE`WQbp9db zWiJD3Bw1r5^dBINu`s@Q{>xBJ))-Hc&guUUq1hnG{_*UsUrEHkWmAFadQc)v7mrE^ ztoK7pQE1Zm9m;U<%s_CmAH0FP6vR{5q*9D76-?lw5Iq}u^t($%-3gS&g2)Vm zxHT5UyW>G*hC$3-0fGn1LwgVJN6nN7C=Zb*G4%^6gJWD63*rOXU2hWcU^^)zPYf6a zv3Lat-YJ8a#Ya(|!F5c(8UnF27R1N+qz|IEj)hAE4A*h{3J^>u2JvZs9UgIq*SboR znEnZBcK&B1vx{}62t64dknsnW)?VXnfcF&-7?&lA11m(@JQiu;DBSOlZ@Vp)EsVGxP(BDxxMxk(?~z5CIFSm&6JN$F3ZwQvZNI zV8@m%Y^cP74`9pxAntXnR;Vo4_zv&gGu-E&zrX(g(8hxT6sUPZlm*J2-k{y@?YM&%t#)sqKl}B8VCEaEz&t;{bc*SgJ@ z$8OVU_Fo-4oo;6!AX);YqbQswGE9atSdfLr|0%bIq~$1@&_u=YL$9}(jl6guM*($A zCmPFOC}W@Ntf?h${W)#RSvourQ2Ytsy|O4m4&{v3InP|@r(V*J7`oc9{xwi?6FGk0 zl_wcl!HpL2*n95t%<7Wy2@_$L_N~yG1U6B{4T|ejDX2iBJckYX)~NFaI#oc~e)z~z z&mnB<8}eV%yPMpHN?(It4<%aq7F9N3@X0oAQsnFwZWA77cPL}tGIoenrS2~FGOouI z`Ic&yzEDs|8i<}-l@z$RJkEdxKQ47x<{?3`5Z$i-C6E6C5K)fov9$HH)-R;#sSJ7p z{_QfX5y@w)TD^+O$4@BP6wh((GYq>4o8;)1ePZCoOqNXFAgt-a38Ytq*xFh0II=!$VjD?4Jw4X+sC~a}^;x4+ z<5s`LlLS(@&OkbeE_4fYZ6YpUEGuO-k4kc_3nELY-SrlR^D_zTz)l0ZlE~tEfy8JK z$kn31;8q2;E;!-1d+L-EI9}Be&~medd?C#!+?d2oxLIIlT`oCezE_pu18%s;T_coU z*ig3>@*D3{w^>Q-#vTSDvTXXSZ`Wn5<}?_B=z@ zwa+Sep%Zuw6$1nNt_^AAmx-LfwvzOkPR$yV-n>(jCJqQ}8TF)fj|{3;e$Rv3=;D|R zYJS5yapjG`dCbHif$NG*MYbk+$CcM8%j3gTH!fG)dFwv6e&r2Mo%J(X6E%klPc~iR zw^N(#1PiWjP5VLMG)xSVr6hw;TE(Wv3-6!>g%v8bPRhDZh9QBZ?R&1Im5ng)P29

n=rAdugrqBiDy{Gt4efeO2#mA3>Q#H`Zr zC4t;$)1b;Ug@;w4f8`T}+-f-%vI!|L5LL}+$hKMzS>RUaTY+>Nj@6Jg8MrJTIp?o9 zR=DU`HMj1Ds)+QF{}k7pbCNiP1%b|n6WU5>RUn=lS0?%chQx`SY}5 zd(rirsb+o738v*-jVI}%UzN2P`mFG)hw*UHWpC<5B|J>&dZc7WZgykZ@-u8K*Q;_0 zH5kdZ3xdTaTz&<9yeCm?*NW07g9YmE+C&|R^D<{@~ebkw6(O%(ryN1>(Uq#%mz;3f63`>jo8+3oRrnjSC#bg`ix&?Y*~3P#}udF-lFd>HJ67sCS={o zHGvPah&LnhDxo5S-(!Ty76ZPDuMz9S*YORWP`Kkc zVx44rA*KH%QHiCJHbyUP_rD_6`^SGo8{80oDSu$}9{KOu7oHvmMr zzeSNg$9*dC7H+M?();a7Je{{ITKb?}(bGM4#Yp$s6*JvuS5kWV2%(W4AT-lQ2|Lrr z>{45HSjiq&vY%J7qe^y6$xcMF_e8RVNcR3nwq#E!+44|4HmGH^Z2aN>4`Xzm4B6J$?~iv|mTIMR{-?=s?PL1g*NAHjYx%ykq8MFG9S=Br%et9up$;&}{4C32EF-@#FQ z6W`)3f5S;?{x&qqn)nXR5wb||T|7Zc_J}ih5>K&&9v5kRk7pgU;UD-ucQIP>HlD^a zh~ruE9)kW6)#(O)VBon3a`Qvh<_8#vy^qZM&_2W#btK-U4>A0RQXP06FL3Q9{wnYJ WaRgtC;LG?GDG8pwhF{~i$o?PMxPoB- literal 0 HcmV?d00001 diff --git a/src/ArrayLogic.java b/src/ArrayLogic.java new file mode 100644 index 0000000..ee9ddc4 --- /dev/null +++ b/src/ArrayLogic.java @@ -0,0 +1,49 @@ +public class ArrayLogic { + + // TASK 1: Método para obtener la diferencia + public static int getDifference(int[] numbers) { + if (numbers.length < 1) return 0; + + 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; + } + + // TASK 2: Encontrar el más pequeño y el segundo más pequeño + public static void printTwoSmallest(int[] numbers) { + // Validación: Necesitamos al menos 2 números para comparar + if (numbers.length < 2) { + System.out.println("The array must have at least 2 elements."); + return; + } + + // Inicializamos con el valor más alto posible en Java + int smallest = Integer.MAX_VALUE; + int secondSmallest = Integer.MAX_VALUE; + + for (int num : numbers) { + if (num < smallest) { + // El antiguo más pequeño ahora es el segundo más pequeño + secondSmallest = smallest; + // El actual es el nuevo "rey" de la pequeñez + smallest = num; + } else if (num < secondSmallest && num != smallest) { + // Si el número no es el más pequeño, pero es menor que el segundo + secondSmallest = num; + } + } + + System.out.println("The smallest is: " + smallest); + System.out.println("The second smallest is: " + secondSmallest); + } +} \ No newline at end of file diff --git a/src/Employee.java b/src/Employee.java new file mode 100644 index 0000000..db32b35 --- /dev/null +++ b/src/Employee.java @@ -0,0 +1,44 @@ +public class Employee { + // Atributos + private String id; + private String name; + private double salary; + private boolean isFullTime; + + // Constructor + public Employee(String id, String name, double salary, boolean isFullTime) { + this.id = id; + this.name = name; + this.salary = salary; + this.isFullTime = isFullTime; + } + + public String getRole() { + return "EMPLOYEE"; + } + + // Getters y Setters + public String getId() { return id; } + public void setId(String id) { this.id = id; } + + public String getName() { return name; } + public void setName(String name) { this.name = name; } + + public double getSalary() { return salary; } + public void setSalary(double salary) { this.salary = salary; } + + public boolean isFullTime(){ return isFullTime; } + public void setFullTime(boolean isFullTime) {this.isFullTime = isFullTime;} + + // toString() + @Override + public String toString() { + // Si es fullTime, añadimos un "badge". Si no, se queda vacío. + String statusTag = isFullTime ? " (Full-Time)" : ""; + + return "ID: '" + id + '\'' + + ", Name: '" + name + '\'' + + ", Salary: " + salary + "€ " + + getRole() + statusTag; + } +} \ No newline at end of file diff --git a/src/Intern.java b/src/Intern.java new file mode 100644 index 0000000..fe42c16 --- /dev/null +++ b/src/Intern.java @@ -0,0 +1,32 @@ +public class Intern extends Employee { + + // Constante para el límite de sueldo + public static final double MAX_SALARY_LIMIT = 20000.0; + + // Constructor: Al llamar a super, ponemos "false" en el booleano de Full Time + public Intern(String id, String name, double salary) { + super(id, name, salary, false); + validateAndSetSalary(salary); + } + + // Sobrescribimos el Rol + @Override + public String getRole() { + return "INTERN STUDENT"; + } + + // Sobrescribimos el Setter + @Override + public void setSalary(double salary) { + validateAndSetSalary(salary); + } + + // Método interno de validación + private void validateAndSetSalary(double salary) { + if (salary > MAX_SALARY_LIMIT) { + super.setSalary(MAX_SALARY_LIMIT); + } else { + super.setSalary(salary); + } + } +} \ No newline at end of file diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..daaca3c --- /dev/null +++ b/src/Main.java @@ -0,0 +1,55 @@ +public class Main { + public static void main(String[] args) { + + // ---> TAREAS 1 Y 2 (Lógica de arrays) + int[] data = {12, 45, 7, 33, 2, 19}; + System.out.println("--- TASKS 1 AND 2 ---"); + System.out.println("Difference (T1): " + ArrayLogic.getDifference(data)); + ArrayLogic.printTwoSmallest(data); + + // ---> TAREA 5: Lista de empleados y becarios + System.out.println("\n--- TASK 5 => Employees & Interns ---"); + + // Lista de 10 empleados + String[] names = { + "Manuel Candela", "Ana García", "Carlos Pérez", "Lucía Fernández", + "David Jiménez", "Elena Ruiz", "Sergio Torres", "Marta Luna", + "Iván Ramos", "Sonia Castro" + }; + + String[] ids = { + "EMP-001", "EMP-002", "EMP-003", "EMP-004", "EMP-005", + "EMP-006", "EMP-007", "EMP-008", "EMP-009", "EMP-010" + }; + + Employee[] employeeList = new Employee[10]; + + for (int i = 0; i < employeeList.length; i++) { + double increasingSalary = 25000.0 + (i * 4000.0); + if (i < 7) { + + employeeList[i] = new Employee(ids[i], names[i], increasingSalary, true); + } else { + employeeList[i] = new Intern(ids[i], names[i], increasingSalary); + } + } + + // Imprimimos la lista + for (Employee e : employeeList) { + System.out.println(e); + } + + // Tarea 4: Validación + System.out.println("\n--- Attempting to raise salaries above the limit ---"); + + // 1. Probamos con Ana García + + employeeList[3].setSalary(60000.0); + System.out.println("Salary of " + employeeList[3].getName() + " (Fixed): " + employeeList[3].getSalary()); + + // 2. Probamos con Iván Ramos + + employeeList[8].setSalary(90000.0); + System.out.println("Salary of " + employeeList[8].getName() + " (Intern): " + employeeList[8].getSalary()); + } +} \ No newline at end of file From 2fda12da766fffd6eee25aa671f7a979156a4937 Mon Sep 17 00:00:00 2001 From: Frangithub90 Date: Tue, 31 Mar 2026 02:46:57 +0200 Subject: [PATCH 2/2] He cambiado el main por arraylist, la clase intern ha cambiado a private, en la clase employee solamente he cambiado la forma del constructor. --- out/production/lab-java-basics/Employee.class | Bin 2032 -> 2072 bytes out/production/lab-java-basics/Intern.class | Bin 847 -> 852 bytes out/production/lab-java-basics/Main.class | Bin 2656 -> 3271 bytes src/Employee.java | 8 +-- src/Intern.java | 4 +- src/Main.java | 66 ++++++++++++------ 6 files changed, 51 insertions(+), 27 deletions(-) diff --git a/out/production/lab-java-basics/Employee.class b/out/production/lab-java-basics/Employee.class index 57921cbd5b62a9259f111c78d13fc93ccaf4ab2f..8456c8d28e718d0911413715514176527f94f160 100644 GIT binary patch literal 2072 zcma)7+j84v5dMCjWIIaJx=q?7#dRQ#Z6&EWl#^Wwt?kf&la$(oAq*FP98ID|mOPf+ zncOiv1v~*aodITundt=&z+>^C}i_Q(%T( zZuLyFX|yR(B!5uYk7JRu?>wpReOs#~DAKZu+jv7DWDtndBnGy*qawpL5sT8Z;!PEA zVU=ohg509Y>NOQP+h;~5BCIaw&kf_v8|SLzcJhsk{nlBt|RdMlpapTs!pmVHB&GM6#id)>NEAK zVjod8b9KYgcYEzaz1x(BTwkhgx1_l*y9Pf8%7}YnPyxyMfEZ{Uj|FBMu56v|$c~pp0ojl6bl{O}*u8E`-!d57>>&SL zCL`HDvTfIKyRx&RyC?RM6UVl|>UOo1$%))XhH(X=53H0C|NQtOlM!MrhA)$-V@JU* zPi~L=E*NfD&+Sva=!5Wwxg}e!%|!lbw9SE`pZ>A5j!fNIt=sl#uT!2J+lb~h$L3i_ zpJM*qh`qnJ<@0m{h| z8h4%_agGk1>AOl! z+=UXQVstTW{Txdd75k|dJnseHVpv@)s7~PiR1oQL5Vxj+pzriF5b1Fci z!Gj=9k$`d&xf3hDk}%rF<*6X(#}GJ|Xf`~Zn3g-o$~cJImw@1zGKd^L4dRTBBl}_u zM0zR+`T-3=492m1j_f#yJC}f9Ix&dPhU0LEJ3Q7k>O}Tu#8ZV|5KXPunId$hxj|YV zo9i#}4#4vYdyGpF#eppSLvu7_jilU2&b5F7bA& VCqQ4&^%zg+DM`{-Xy9usz5>|Jcb)(M literal 2032 zcma)6+fv(R5dMCjBnvqZ2S_-SI4xjXK-}{Ir)d-0G$e*}YKBh9@v33`*6wlk%j$weQakC6xIbXSs%u}!BJ(ysR3!?(NNufP9!{TF~5b~VHhSCG(= zL`q=lg?uSXwsek5PY++1OpHTyLAgC?%g&jAsIqxR$1H9NXqLCtwe3BtMTy0M zia9Q|^L72{ceR>|1pz%*V2=%UDXMr&02(E@ts{p!0?M)Jf8*K|JzXe{V#-qQ@90>@ ziong5JT)t>)0FX@RG2x$B)PPp+t*0!Iq>*gXijrO^XU0_LN<6w=HKI)s3#tNXI_p^yg(?Tq!GXX89bD`#Q3%khz8kWE1AXaty*+s>kZJg`dAcLp z0c-{LF7dAyp*7rYr)h3k+-|1V(Oo7Q`9E}B-}5`Ny<_?(?vbbBfxz;1bu*V2`Sl#* zkJJ$EW=_2M;Z-gt#AFH;4OP?>Y%v$UqPPq8TFy)N)GUP{LV9e;rtdOYe;gcLPf6wC#rFo3v$p+i}cJ#g?9D zdI}y3tc>(D4yuB>z|w!a(sd2{!X3J5F}gzudeeV^v>0FTK+?SqBwb{Z6ClQ6mEL*! z`W|tlNX{F7LKti3P>l6+WQ^iDri_{7Ii`OLVhijOc&4d_hBW25M)_|bgE`WQbp9db zWiJD3Bw1r5^dBINu`s@Q{>xBJ))-Hc&guUUq1hnG{_*UsUrEHkWmAFadQc)v7mrE^ ztoK7pQE1Zm9m;U<%s_CmAH0FP6vR{5q*9D76-?lw5Iq}u^t($%-3gS&g2)Vm zxHT5UyW>G*hC$3-0fGn1LwgVJN6nN7C=Zb*G4%^6gJWD63*rOXU2hWcU^^)zPYf6a zv3Lat-YJ8a#Ya(|!F5c(8UnF27R1N+qz|IEj)hAE4A*h{3J^>u2JvZs9UgIq*SboR znEnZBcK&B1vx{}62t64dknsnW)?VXnfcF&-7?&lA11m(@JQiu;DW(vXKlqNJilN=s`|(9zP81|*6+fQBM@ z25&%_HI}23Zs+E9XJ_}v?2P^X``Q4wMON559Xu3|V{75#IK&CU;y!Mf`Syt!fQ3e| z-gHzy#VLAFh{Dr>c%ME0s=+EH--5^6=Lrz8w$E42O!+y-1*4!#3|J*-NTf@2 zMQxAl2xCzsH)WJ8&qePH8q&a&RJ#-o|Gz8YmBJB(lG+)y#EHqX546{Hxl9Aj(PTIA z)+^tp_GTbH6j|<}(pu8LXeC(}?&TFx&iIM$8~i+D6m<{jfEM2c(~L8qi5R<7aeLV3p16cg zm#$BmVS0dpFqj=vWy|=D8AT)FY0JoifZf%24OUWA=vCp0qZ8(J^e%u=e*4WgoHdME$PuwsU5=8$_e MXkY%+A-%@v4=uqX4gdfE diff --git a/out/production/lab-java-basics/Main.class b/out/production/lab-java-basics/Main.class index 7549b0e6fc3da80ca46deba4ebbff5d4fb215d8c..0c693c3dd31be621821ae85b1f0e93709112f90e 100644 GIT binary patch literal 3271 zcma)8U2q#$75=U*Y1hgoQ4~9=LkXMIi6zI5Rgr5E%zMK)JRy^48L> zyIQ$%%3r4e3KS>|r9b?&l#+(fhPGhWNhvKZFMVSeUKn_R;fWbundt!G+m%+fYnLJ8 ztj@XT_n!NmbMHIB*eR z=pA~`P@jHK=SmbYY*7%`uod+JTh}ocP-Z-5d5caG(7Xo=eX%E|>3Qus%6!X7!V1Vd;wHtsP;-`|}1Jo++8+yXY-rI62eS zM{LJ2iYks#B`qCS>Zy{&fFEWCgR^w1pOFQd3Oxc^#2z zF@aFgyh!M<5e5~UV{4QT&r|t?hEL*N$_TSHfT`46fn41(K5ir3zxy^(2t+Xs!|TKI z0*Q6-y%vFe$x#JU0%`!LNcW#p6<;~zJzwm|$U!cM&PRZhsalwOPB026^%xSoY2U$zYU#<^)ub4Sq z-Z1!#HwixbKHz0reO};@-&Q>?=gy4F381^S?ntv}=tY^Aj>-O#6ZWj3yHkdqHw&ig zby=kQ4=+_~bVZ2OI zhOg5PRRcfVabFw)k9qUun*z=2oI~F_b0yOK*GK#W7_6%d?kGj{df;V@_dKxEwUKe^|z`S5&%d*#ap{$aX zXN4!+9KrP{Zs2tVzw)s0hCq|wJbn+D)~r2kw3oqEzK#auBpZ>?d~zj(DvISSPw+zE zz0;Jk?dj4?*V;m@SXpH_!g8;pzVeWRD`TyTUS4(?4hmLT8?-FL>CMYx(I_f-OJL8M zJ*}6jf+c~S|6A1qvA-|u!sBcT?_Ui&i%%AQpCH%HU%}sS%L2s9zW7OgJuwi%Q~YXW z1w4)KlB>h_@O`e(xb_ksH3~g8$0Dys$7*BR@K`9;Har%NDZ^ut*skF*B|JQ)#5GMm76%a!KaXKK*1jI<0s6^-t)gBHv zgj*NE@$e&L8^V#9r?I~=bOYmKZ4Kc?e7pv4;!~~5WIZMpkS%+;j8;!I_r9uTXaUn@ z-AiF{`Q{Uip+#`cb%q=1n>Wu>*x^wZ1f%3SBP?-aWFDWseDg0}wLiydH-;jWEOPaD zXdVxHI?HSG_|huwtJm=j|HK+YvASi$Zv}?Si@xPbmZrR?8PbDS2p+tCiWYuV>?WLA zcz++^tN0i;@m;+IX~Z$gE9_p>V+swppRdJ>*p7#B3m)bB^l|LK4+x*j901p_6GRZ+ zf{u5H@!!+qpKu%gh9>-jZ@+(f4?{GIIz9p8Xc0R0iDtBlGuSU4B>xcKTF>C9c!3YB ztLPT5qEEcd$I{>VEc!Q2*6hV8zXeV}5e>*Q?hg^Bg^FkJESrST=kY$rz3i?D7E$n$f@=!) zmH)V(qltGB{ufjQ#dm#YKc{*PUdAi@t*7%vrtzx({iXk1z^^HZa`jF825+PBzmQNW Aw*UYD delta 1509 zcmY*ZU2GIp6#i~^XYTE?(q+0!87n%XwYxxRX=$Nb(N<`oxJzpXkp)GEc38LF&X(D2 zq4=|+2#5&6`2UC0AHstgcqj>`#H1u7KFEWK@qq^uO?>jvM2UiDrtU^3x#!;RobNmL z&N(;ts`^tn@a@e@mjQI+^Yej|tQZ#oz3O7{@HW3xnE!f!-B-P8`gSE+nPN?T5>m0y7k6H zW=PwV8J#_6xxQwGKzG)(jG{I$o*~C7N~fE4I+N43&vKB zpr;Jl1U8nzYJp8Fvi-jIUsC zI!(N0Tm%~X$p*c(glF(9 zp-Mc5=UpxdPY|jkn&Z?|b{9i|8PuhGO1+-)D=|GKDa-VftTgB;t~BZ?p{&$XAz5i5 z%avBLLRn3=Qfb$dC2fbRUF&KebhTZscAcy3_Ou&3ZLg<&*wZHU&91gD?l1b8wa2Wc?V7nZVLVOB~RewbK8hxpTh}68C#v<8&5s&I;q0U9N{U>q}+x3GI zJA3QA>W@pRbh%CTwebj#$WvIPN)g^17Z<=)F^wk`3_ihUQ2zm8v_H@Q diff --git a/src/Employee.java b/src/Employee.java index db32b35..b0a9c62 100644 --- a/src/Employee.java +++ b/src/Employee.java @@ -7,10 +7,10 @@ public class Employee { // Constructor public Employee(String id, String name, double salary, boolean isFullTime) { - this.id = id; - this.name = name; - this.salary = salary; - this.isFullTime = isFullTime; + setId(id); + setName(name); + setSalary(salary); + setFullTime(isFullTime); } public String getRole() { diff --git a/src/Intern.java b/src/Intern.java index fe42c16..a63127d 100644 --- a/src/Intern.java +++ b/src/Intern.java @@ -1,12 +1,12 @@ public class Intern extends Employee { // Constante para el límite de sueldo - public static final double MAX_SALARY_LIMIT = 20000.0; + private static final double MAX_SALARY_LIMIT = 20000.0; // Constructor: Al llamar a super, ponemos "false" en el booleano de Full Time public Intern(String id, String name, double salary) { super(id, name, salary, false); - validateAndSetSalary(salary); + setSalary(salary); } // Sobrescribimos el Rol diff --git a/src/Main.java b/src/Main.java index daaca3c..f17c563 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,3 +1,6 @@ +import java.util.ArrayList; +import java.util.List; + public class Main { public static void main(String[] args) { @@ -11,32 +14,53 @@ public static void main(String[] args) { System.out.println("\n--- TASK 5 => Employees & Interns ---"); // Lista de 10 empleados - String[] names = { - "Manuel Candela", "Ana García", "Carlos Pérez", "Lucía Fernández", - "David Jiménez", "Elena Ruiz", "Sergio Torres", "Marta Luna", - "Iván Ramos", "Sonia Castro" - }; + List names = new ArrayList<>(); + names.add("Manuel Candela"); + names.add("Ana García"); + names.add("Carlos Pérez"); + names.add("Lucía Fernández"); + names.add("David Jiménez"); + names.add("Elena Ruiz"); + names.add("Sergio Torres"); + names.add("Marta Luna"); + names.add("Iván Ramos"); + names.add("Sonia Castro"); - String[] ids = { - "EMP-001", "EMP-002", "EMP-003", "EMP-004", "EMP-005", - "EMP-006", "EMP-007", "EMP-008", "EMP-009", "EMP-010" - }; + List ids = new ArrayList<>(); + ids.add("EMP-001"); + ids.add("EMP-002"); + ids.add("EMP-003"); + ids.add("EMP-004"); + ids.add("EMP-005"); + ids.add("EMP-006"); + ids.add("EMP-007"); + ids.add("EMP-008"); + ids.add("EMP-009"); + ids.add("EMP-010"); - Employee[] employeeList = new Employee[10]; + List employeeList = new ArrayList<>(); - for (int i = 0; i < employeeList.length; i++) { - double increasingSalary = 25000.0 + (i * 4000.0); - if (i < 7) { + //METODO DE CREAR EMPLEADOS ALEATORIOS BY IGOR! - employeeList[i] = new Employee(ids[i], names[i], increasingSalary, true); + for (int i = 0; i < names.size(); i++) { + if (i % 3 == 0) { + employeeList.add(new Intern(ids.get(i), names.get(i), 18000.0)); } else { - employeeList[i] = new Intern(ids[i], names[i], increasingSalary); + employeeList.add(new Employee(ids.get(i), names.get(i), 30000.0, true)); } } +// for (int i = 0; i < names.size(); i++) { +// double increasingSalary = 25000.0 + (i * 4000.0); +// if (i < 5) { +// employeeList.add(new Employee(ids.get(i), names.get(i), increasingSalary, true)); +// } else { +// employeeList.add(new Intern(ids.get(i), names.get(i), increasingSalary)); +// } +// } // Imprimimos la lista - for (Employee e : employeeList) { - System.out.println(e); + for (Employee employee : employeeList) { + System.out.println(employee); } // Tarea 4: Validación @@ -44,12 +68,12 @@ public static void main(String[] args) { // 1. Probamos con Ana García - employeeList[3].setSalary(60000.0); - System.out.println("Salary of " + employeeList[3].getName() + " (Fixed): " + employeeList[3].getSalary()); + employeeList.get(3).setSalary(22200.0); + System.out.println("Salary of " + employeeList.get(3).getName() + " (Fixed): " + employeeList.get(3).getSalary()); // 2. Probamos con Iván Ramos - employeeList[8].setSalary(90000.0); - System.out.println("Salary of " + employeeList[8].getName() + " (Intern): " + employeeList[8].getSalary()); + employeeList.get(9).setSalary(40000.0); + System.out.println("Salary of " + employeeList.get(9).getName() + " (Intern): " + employeeList.get(9).getSalary()); } } \ No newline at end of file