Skip to content

MArc #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
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
Binary file added .DS_Store
Binary file not shown.
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 lab-java-basics-es.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.
Binary file added src/.DS_Store
Binary file not shown.
103 changes: 103 additions & 0 deletions src/Main.java
Original file line number Diff line number Diff line change
@@ -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<Employee> 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);

}


}

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