Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .idea/lab-java-basics-es.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions labs.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
Binary file added out/production/lab-java-basics-es/Main.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
125 changes: 125 additions & 0 deletions src/Main.java
Original file line number Diff line number Diff line change
@@ -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() + "€.");

}
}
}

}
}
}
67 changes: 67 additions & 0 deletions src/employer/Employer.java
Original file line number Diff line number Diff line change
@@ -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;
}

}
34 changes: 34 additions & 0 deletions src/employer/Intern.java
Original file line number Diff line number Diff line change
@@ -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);
}
}
}