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;} + } +