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-es.iml b/.idea/lab-java-basics-es.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/.idea/lab-java-basics-es.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..47478b9 --- /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..b936c40 --- /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/labs.iml b/labs.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/labs.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/lab-java-basics-es/Main.class b/out/production/lab-java-basics-es/Main.class new file mode 100644 index 0000000..96e7dc2 Binary files /dev/null and b/out/production/lab-java-basics-es/Main.class differ diff --git a/out/production/lab-java-basics-es/employer/Employer.class b/out/production/lab-java-basics-es/employer/Employer.class new file mode 100644 index 0000000..157e84b Binary files /dev/null and b/out/production/lab-java-basics-es/employer/Employer.class differ diff --git a/out/production/lab-java-basics-es/employer/Intern.class b/out/production/lab-java-basics-es/employer/Intern.class new file mode 100644 index 0000000..33bfc1e Binary files /dev/null and b/out/production/lab-java-basics-es/employer/Intern.class differ diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..f1d9014 --- /dev/null +++ b/src/Main.java @@ -0,0 +1,125 @@ +import employer.Employer; +import employer.Intern; + +public class Main { + public static void main( String[] args){ + //Array que vamos a utilizar en nuestro ejercicios tareas 1, 2. + int[] enteros = new int[5]; + enteros[0] = 12; + enteros[1] = 3; + enteros[2] = 98; + enteros[3] = 53; + enteros[4] = 88; + + //Creación de employers para tareas 3, 4, 5. + Employer [] employers = new Employer[10]; + + employers[0] = new Employer("María", 24, 32700, 6 , "Front end" , 0); + employers[1] = new Employer("Juan", 35, 36000, 17, "Senior Data base" , 1); + employers[2] = new Employer("Pedro", 22, 35500,4 , "RRHH" ,2 ); + employers[3] = new Employer("Sandra", 43, 34300, 25 , "General Manager" ,3 ); + employers[4] = new Employer("Jenifer", 33, 34000, 12 , "Lead Back end" ,4 ); + employers[5] = new Employer("Manel", 45, 38000, 2 , "Junior Security" ,5 ); + + //creación de Intern + employers[6] = new Intern("Marcos", 18, 15000, 2 , "Junior Data Base" ,6); + employers[7] = new Intern("Alejandra", 20, 20000 , 2 , "Support Java",7 ); + employers[8] = new Intern("José", 31, 18000 , 5 , "Development JavaScript" ,8); + employers[9] = new Intern("Isabel", 22, 19000 , 3, "Junior Back end", 9); + + + Main main = new Main(); + main.calcularDiferencia(enteros); + main.encontrarElementos(enteros); + main.createTenEmployer(employers); + + } + //----------------------------- + //tarea 1. Escribe un método en Java para obtener la diferencia + // entre el valor más grande y el más pequeño en un array de enteros. + // La longitud del array debe ser 1 o mayor. Utiliza bucles y + // condicionales para desarrollar el algoritmo. + public void calcularDiferencia(int[] enteros){ + System.out.println("Tarea 1."); + + int indeceArrayMayor = enteros[0]; + int indiceArrayMenor = enteros[0]; + + for(int entero : enteros){ + //System.out.println(entero); + + if(entero > indeceArrayMayor){ + indeceArrayMayor = entero; + System.out.println("Indice mayor del array: " +indeceArrayMayor); + + } + else if(entero < indiceArrayMenor){ + indiceArrayMenor = entero; + System.out.println("Indice menor del array : " + indiceArrayMenor); + } + } + System.out.println("Diferencia entre el indice menor y el indice mayor: " + (indeceArrayMayor - indiceArrayMenor)); + } + //----------------------------- + //Tarea 2. Escribe un método en Java para encontrar el elemento más pequeño + // y el segundo más pequeño de un array dado e imprimirlo en la consola. + // Utiliza bucles y condicionales para desarrollar el algoritmo. + public void encontrarElementos(int[] enteros) { + System.out.println("\nTarea 2."); + + + int firstElementLow, secondElementLow; + + if (enteros[0] < enteros[1]){ + firstElementLow = enteros[0]; + secondElementLow = enteros[1]; + }else { + firstElementLow = enteros[1]; + secondElementLow = enteros[0]; + } + + for(int i = 2; i < enteros.length; i++){ + + if (enteros[i] < firstElementLow){ + secondElementLow = firstElementLow; + firstElementLow = enteros[i]; + + } + } + System.out.println("El valor del elemento más bajo es " + firstElementLow); + System.out.println("El valor del segundo elemento más bajo es "+ secondElementLow +"\n"); + } + //Tarea 5 + public void createTenEmployer(Employer[] employers){ + System.out.println("Tare 5. Escribir un programa que cree 10 empleados y muestre todas sus propiedades."); + + int idBuscado = 9; + double subidaSalario = 50100; + + //Mostrar por consola empleados y sus datos + System.out.println("Trabajadores de la empresa IT S.l.\n"); + + for(Employer employer : employers){ + System.out.println("ID: " + employer.getId() + " - " + employer.getName() + " de " + employer.getAge() + " años, salario -> " + employer.getSalary() + "€."); + + if(employer instanceof Intern){ + Intern intern = (Intern) employer; + + if(intern.getId() == idBuscado){ + double nuevoSalario = intern.getSalary() + subidaSalario; + + if (nuevoSalario > intern.getMAXSALARY()){ + System.out.println("\nEl salario actual de " + employer.getName() + " es de " + ((Intern) employer).getMAXSALARY() + "€," + " es el máximo permitido para un Intern." ); + + }else{ + //Si el salario no supera los 20000€ anuel, dejara sumar la cantidad sin superar + intern.setSalary(nuevoSalario); + System.out.println("\nEl nuevo salario de " + employer.getName() + " es " + intern.getSalary() + "€."); + + } + } + } + + } + } +} diff --git a/src/employer/Employer.java b/src/employer/Employer.java new file mode 100644 index 0000000..16e373e --- /dev/null +++ b/src/employer/Employer.java @@ -0,0 +1,67 @@ +//Tarea 3 +package employer; + +public class Employer { + //Tarea 3. + + //Atributos + private String name; + private int age; + private double salary; + private int experience; + private String job; + private final int ID; + + //Constructor + public Employer(String name, int age, double salary, int experience, String job, int ID){ + this.name = name; + this.age = age; + this.salary =salary; + this.experience = experience; + this.job = job; + this.ID = ID; + } + //getter + public String getName(){ + return name; + } + + public int getAge(){ + return age; + } + + public double getSalary(){ + return salary; + } + + public int getExperience(){ + System.out.println("Con " + experience + " años de experiencia."); + return experience; + } + + public String getJob(){ + System.out.println("Departamento de " + job); + return job; + } + + public int getId(){ + return ID; + } + + + + + //setter + public void setName(String name){ + this.name = name; + } + + public void setAge(int age){ + this.age = age; + } + + public void setSalary(double salary){ + this.salary = salary; + } + +} diff --git a/src/employer/Intern.java b/src/employer/Intern.java new file mode 100644 index 0000000..a992f5b --- /dev/null +++ b/src/employer/Intern.java @@ -0,0 +1,34 @@ +//Tarea 4. +package employer; + +public class Intern extends Employer { + + //Atributos + private final int MAXSALARY = 20000; + + //constructor + public Intern(String name, int age, double salary, int experience, String job, int ID){ + super(name, age, salary, experience, job, ID); + + if(salary > MAXSALARY){ + throw new IllegalArgumentException("El salario no puede ser mayor que " + MAXSALARY); + } + } + + public int getMAXSALARY() { + return MAXSALARY; + } + + //MEtodo para actualizar el salario con validación. + //Sobreescribimos el metodo setsalary + @Override + public void setSalary(double salary){ + if(salary > MAXSALARY){ + getMAXSALARY(); + //throw new IllegalArgumentException("El salario no puede ser mayor que " + MAXSALARY); + }else { + //Si el valor de salario de un intern no supera el maximo, se puede actualizar, simepre que no supere el MAXSalary + super.setSalary(salary); + } + } +}