diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..7beb932
Binary files /dev/null and b/.DS_Store differ
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..c4f0636
--- /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/lab-java-basics-es.iml b/lab-java-basics-es.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/lab-java-basics-es.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..c0694d3
Binary files /dev/null and b/out/production/lab-java-basics-es/Main.class differ
diff --git a/out/production/lab-java-basics-es/classes/Employee.class b/out/production/lab-java-basics-es/classes/Employee.class
new file mode 100644
index 0000000..90def5a
Binary files /dev/null and b/out/production/lab-java-basics-es/classes/Employee.class differ
diff --git a/out/production/lab-java-basics-es/classes/Intern.class b/out/production/lab-java-basics-es/classes/Intern.class
new file mode 100644
index 0000000..2b898de
Binary files /dev/null and b/out/production/lab-java-basics-es/classes/Intern.class differ
diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 0000000..0c7b28a
Binary files /dev/null and b/src/.DS_Store differ
diff --git a/src/Main.java b/src/Main.java
new file mode 100644
index 0000000..711ba78
--- /dev/null
+++ b/src/Main.java
@@ -0,0 +1,103 @@
+import classes.Employee;
+import classes.Intern;
+
+import javax.naming.ldap.ManageReferralControl;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class Main {
+ public static void main (String[] arg){
+
+ //EXERCICE 1
+ System.out.println("EXERCICE 1 ----");
+ Integer[] numbers = {1, 2, 3, 4, 5};
+
+ int max = numbers[0];
+ for (int number : numbers)
+ if (number > max) {
+ max = number;
+ }
+ int min =numbers[0];
+ for (int number : numbers)
+ if (number < min){
+ min = number;
+ }
+ int difference = max - min;
+ System.out.println("The difference between the higher (" + max + ") and the lowest (" + min + ") number is " + difference);
+
+ //EXERCICE 2
+ System.out.println("EXERCICE 2 ------");
+ Integer[] numbers2 = {-2, 5, 18, 20, -20};
+ int smallest = numbers2[0];
+ for (int number2 : numbers2)
+ if (number2 < smallest){
+ smallest = number2;
+ }
+ int position = 0;
+
+ for (int i = 0; i < numbers2.length; i++){
+ if(numbers2[i] == smallest){ position = i;}
+ }
+ System.out.println("The lowest element is " + numbers2[position]);
+
+ Integer[] result = new Integer[numbers2.length - 1];
+ for (int j = 0, k = 0; j < numbers2.length; j++) {
+ if (j != position) {
+ result[k++] = numbers2[j];
+ }
+ }
+
+ int smallest2 = result[0];
+ for (int result1 : result)
+ if (result1 < smallest2)
+ {smallest2 = result1;}
+ System.out.println("The second lowest element is " + smallest2);
+ // EXERCICE 3
+ System.out.println("EXERCICE 3 ---------");
+ Intern intern1 = new Intern("Marc",28,23000,true,2);
+ Intern intern2 = new Intern("Montserrat", 22, 18000, false,1);
+ Intern intern3 = new Intern ("Paula", 25, 20000, true, 2);
+ Intern intern4 = new Intern ("Buggy", 27, 19000, false, 7);
+ Intern intern5 = new Intern ("Kate", 31, 21000, false, 10);
+ Employee employee1 = new Employee("Rafa", 26, 25000, true);
+ Employee employee2 = new Employee("Judit", 24, 35000, true);
+ Employee employee3 = new Employee("Moha", 23, 26000, true);
+ Employee employee4 = new Employee("Laura", 34, 32000, true);
+ Employee employee5 = new Employee("April", 22, 21000,false);
+
+
+
+ List people = new ArrayList<>();
+ people.add(intern1);
+ people.add(intern2);
+ people.add(intern3);
+ people.add(intern4);
+ people.add(intern5);
+ people.add(employee1);
+ people.add(employee2);
+ people.add(employee3);
+ people.add(employee4);
+ people.add(employee5);
+
+ // loop to every employee
+ for (Employee person : people) {
+ System.out.print(person.getName() + " is " + person.getAge() + " years old, " );
+ if (person.isUniversityGrade()){
+ System.out.print("has an university degree,");}
+ else {System.out.print("doesn't have an universtiy degree,");}
+ if(person instanceof Intern){
+ System.out.print("has " + ((Intern) person).getYearsExperience() + " years of experience ");
+ }
+ System.out.println("and has set a salary of: " + person.getSalary() + "€ per year");
+
+ }
+ //try to increase the salary over the limit of intern
+ intern2.setSalary(20000);
+ intern4.setSalary(23000);
+
+ }
+
+
+ }
+
diff --git a/src/classes/Employee.java b/src/classes/Employee.java
new file mode 100644
index 0000000..d4499f3
--- /dev/null
+++ b/src/classes/Employee.java
@@ -0,0 +1,40 @@
+package classes;
+
+public class Employee {
+private String name;
+private int age;
+int salary;
+private boolean universityGrade;
+
+public Employee (String name, int age, int salary, boolean university) {
+ this.name = name;
+ this.age = age;
+ this.salary = salary;
+ universityGrade = university;
+}
+//getters and setters
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public int getAge() {
+ return age;
+ }
+ public void setAge(int age) {
+ this.age = age;
+ }
+ public int getSalary() {
+ return salary;
+ }
+ public void setSalary(int salary) {
+ this.salary = salary;
+ }
+ public boolean isUniversityGrade() {
+ return universityGrade;
+ }
+ public void setUniversityGrade(boolean universityGrade) {
+ this.universityGrade = universityGrade;
+ }
+}
diff --git a/src/classes/Intern.java b/src/classes/Intern.java
new file mode 100644
index 0000000..463e19a
--- /dev/null
+++ b/src/classes/Intern.java
@@ -0,0 +1,31 @@
+package classes;
+
+public class Intern extends Employee{
+ private int yearsExperience;
+ private static final int maxSalary = 20000;
+
+ public Intern(String name, int age, int salary, boolean university, int yearsExperience) {
+ super(name, age, salary, university);
+ this.yearsExperience = yearsExperience;
+ if (salary > maxSalary){
+ System.out.println("The salary exceed the limit for intern: " + name);
+ System.out.println("Salary adjusted to: 20.000€");
+ super.setSalary(maxSalary);}
+ }
+// if an intern wants to update his salary after being created, we enforce the rule of maxSalary
+ @Override
+ public void setSalary(int salary) {
+ if (salary > maxSalary) {
+ System.out.println(getName() + " salary exceeds the max limit for interns. Setting to " + maxSalary +"€ allowed");
+ super.setSalary(maxSalary);
+ } else {
+ super.setSalary(salary);
+ System.out.println(getName() + " salary have been updated to: " + salary +"€");
+ }
+ }
+ //getter and setter new variable
+ public int getYearsExperience(){return yearsExperience;}
+ public void setYearsExperience(int yearsExperience) {
+ this.yearsExperience = yearsExperience;}
+ }
+