diff --git a/Proiect_java_1/out/production/Proiect_java_1/Main.class b/Proiect_java_1/out/production/Proiect_java_1/Main.class new file mode 100644 index 000000000..c14bc3796 Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Main.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/Employee.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/Employee.class new file mode 100644 index 000000000..6c804f727 Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/Employee.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/EmployeeFactory.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/EmployeeFactory.class new file mode 100644 index 000000000..cdd07ce26 Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/EmployeeFactory.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanAbstractFactory.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanAbstractFactory.class new file mode 100644 index 000000000..852e4995f Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanAbstractFactory.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanFactory.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanFactory.class new file mode 100644 index 000000000..bdc94882c Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanFactory.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/Intern.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/Intern.class new file mode 100644 index 000000000..e31bdeb5e Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/Intern.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/InternFactory.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/InternFactory.class new file mode 100644 index 000000000..ffaf409eb Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/InternFactory.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/ObservedSubject.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/ObservedSubject.class new file mode 100644 index 000000000..d8fde1583 Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/ObservedSubject.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/Observer.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/Observer.class new file mode 100644 index 000000000..c691f0c85 Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/Observer.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/Supervisor.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/Supervisor.class new file mode 100644 index 000000000..ae291e62e Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/Supervisor.class differ diff --git a/Proiect_java_1/out/production/Proiect_java_1/Package1/SupervisorFactory.class b/Proiect_java_1/out/production/Proiect_java_1/Package1/SupervisorFactory.class new file mode 100644 index 000000000..5451b82a2 Binary files /dev/null and b/Proiect_java_1/out/production/Proiect_java_1/Package1/SupervisorFactory.class differ diff --git a/Proiect_java_1/src/Main.java b/Proiect_java_1/src/Main.java new file mode 100644 index 000000000..f42cd4c06 --- /dev/null +++ b/Proiect_java_1/src/Main.java @@ -0,0 +1,16 @@ +import Package1.*; + +public class Main +{ + public static void main(String[] args) + { + ObservedSubject supervisor1= HumanFactory.getObservedSubject(new SupervisorFactory()); + Observer intern1=HumanFactory.getObserver(new InternFactory()); + Observer employee1=HumanFactory.getObserver(new EmployeeFactory()); + supervisor1.register(intern1); + supervisor1.register(employee1); + supervisor1.notify("Excellent work!"); + System.out.println("Feedback-ul intern-ului si al angajatului este:"); + System.out.println(intern1.getFeedback()); + } +} diff --git a/Proiect_java_1/src/Package1/Employee.java b/Proiect_java_1/src/Package1/Employee.java new file mode 100644 index 000000000..d4ebda487 --- /dev/null +++ b/Proiect_java_1/src/Package1/Employee.java @@ -0,0 +1,33 @@ +package Package1; + +public class Employee implements Observer +{ + private String nume; + private Integer varsta; + private String specializare; + private Integer aniExperienta; + private String sup; + private String feedback; + + public Employee(String n,Integer v,String spec,Integer a,String suup,String fdb) + { + nume=n; + varsta=v; + specializare=spec; + aniExperienta=a; + sup=suup; + feedback=fdb; + } + public Employee() + { + this("",0,"",0,"",""); + } + public void update(String message) + { + feedback=message; + } + public String getFeedback() + { + return feedback; + } +} diff --git a/Proiect_java_1/src/Package1/EmployeeFactory.java b/Proiect_java_1/src/Package1/EmployeeFactory.java new file mode 100644 index 000000000..c83ffa904 --- /dev/null +++ b/Proiect_java_1/src/Package1/EmployeeFactory.java @@ -0,0 +1,28 @@ +package Package1; + +import java.util.Scanner; + +public class EmployeeFactory implements HumanAbstractFactory +{ + public Observer createObserver() + { + System.out.println("Introduceti date despre un nou angajat"); + Scanner input=new Scanner(System.in); + System.out.println("Nume;"); + String n=input.next(); + System.out.println("Varsta"); + Integer v=input.nextInt(); + System.out.println("Specializare:"); + String s=input.next(); + System.out.println("Ani_Experienta: "); + Integer ani=input.nextInt(); + System.out.println("Nume Supervisor:"); + String sup=input.next(); + return new Employee(n,v,s,ani,sup,""); + } + + @Override + public ObservedSubject createObservedSubject() { + return null; + } +} diff --git a/Proiect_java_1/src/Package1/HumanAbstractFactory.java b/Proiect_java_1/src/Package1/HumanAbstractFactory.java new file mode 100644 index 000000000..bb6214ba9 --- /dev/null +++ b/Proiect_java_1/src/Package1/HumanAbstractFactory.java @@ -0,0 +1,7 @@ +package Package1; + +public interface HumanAbstractFactory +{ + public ObservedSubject createObservedSubject(); + public Observer createObserver(); +} diff --git a/Proiect_java_1/src/Package1/HumanFactory.java b/Proiect_java_1/src/Package1/HumanFactory.java new file mode 100644 index 000000000..ab39ab5f9 --- /dev/null +++ b/Proiect_java_1/src/Package1/HumanFactory.java @@ -0,0 +1,13 @@ +package Package1; + +public class HumanFactory +{ + public static ObservedSubject getObservedSubject(HumanAbstractFactory h) + { + return h.createObservedSubject(); + } + public static Observer getObserver(HumanAbstractFactory h) + { + return h.createObserver(); + } +} diff --git a/Proiect_java_1/src/Package1/Intern.java b/Proiect_java_1/src/Package1/Intern.java new file mode 100644 index 000000000..34691a2d8 --- /dev/null +++ b/Proiect_java_1/src/Package1/Intern.java @@ -0,0 +1,33 @@ +package Package1; + +public class Intern implements Observer +{ + private String nume; + private String facultate; + private Integer varsta; + private boolean experientaAnterioara; + private String sup; + String feedback; + + public Intern(String n,String f,Integer v,boolean e,String s,String fdb) + { + nume=n; + facultate=f; + varsta=v; + experientaAnterioara=e; + sup=s; + feedback=fdb; + } + public Intern() + { + this("","",0,false,"",""); + } + public void update(String message) + { + feedback=message; + } + public String getFeedback() + { + return feedback; + } +} diff --git a/Proiect_java_1/src/Package1/InternFactory.java b/Proiect_java_1/src/Package1/InternFactory.java new file mode 100644 index 000000000..aa7ae9a7d --- /dev/null +++ b/Proiect_java_1/src/Package1/InternFactory.java @@ -0,0 +1,28 @@ +package Package1; + +import java.util.Scanner; + +public class InternFactory implements HumanAbstractFactory +{ + public Observer createObserver() + { + System.out.println("Introduceti date despre un nou intern"); + Scanner input=new Scanner(System.in); + System.out.println("Nume;"); + String n=input.next(); + System.out.println("Facultate"); + String f=input.next(); + System.out.println("Varsta:"); + Integer v=input.nextInt(); + System.out.println("Experienta:(True/False) "); + boolean e=input.nextBoolean(); + System.out.println("Nume Supervisor:"); + String sup=input.next(); + return new Intern(n,f,v,e,sup,""); + } + + @Override + public ObservedSubject createObservedSubject() { + return null; + } +} diff --git a/Proiect_java_1/src/Package1/ObservedSubject.java b/Proiect_java_1/src/Package1/ObservedSubject.java new file mode 100644 index 000000000..1d85607ff --- /dev/null +++ b/Proiect_java_1/src/Package1/ObservedSubject.java @@ -0,0 +1,7 @@ +package Package1; + +public interface ObservedSubject { + void register(Observer obj); + void unregister(Observer obj); + void notify(String message); +} diff --git a/Proiect_java_1/src/Package1/Observer.java b/Proiect_java_1/src/Package1/Observer.java new file mode 100644 index 000000000..c9d68ba28 --- /dev/null +++ b/Proiect_java_1/src/Package1/Observer.java @@ -0,0 +1,7 @@ +package Package1; + +public interface Observer { + void update(String message); + + public String getFeedback(); +} diff --git a/Proiect_java_1/src/Package1/Supervisor.java b/Proiect_java_1/src/Package1/Supervisor.java new file mode 100644 index 000000000..e59a9b488 --- /dev/null +++ b/Proiect_java_1/src/Package1/Supervisor.java @@ -0,0 +1,50 @@ +package Package1; + +import java.util.Arrays; + +public class Supervisor implements ObservedSubject +{ + private Observer[] observers=new Observer[0]; + + private String nume; + private String departament; + private Integer varsta; + + public Supervisor(String n,String d,Integer v) + { + nume=n; + departament=d; + varsta=v; + } + public Supervisor() + { + this("","",0); + } + + public void register(Observer obs) + { + this.observers= Arrays.copyOf(observers,observers.length+1); + observers[this.observers.length-1]=obs; + } + public void unregister(Observer obs) + { + int removedIndex=-1; + for(int i=0;i< observers.length;i++) + { + if(observers[i].equals(obs)) + { + removedIndex = i; + break; + } + } + System.arraycopy(observers,removedIndex+1,observers,removedIndex,observers.length-removedIndex-1); + } + + public void notify(String message) + { + for(int i=0;i=2) + System.out.println(v[i].getNume()); + } + public static void ex_2(Studio [] v) + { + for(int i=0;i 50) + exista = true; + if (exista) + {System.out.println(v[i].getFilme()[j].getNume()); + break;} + } + } } } diff --git a/_2_oo/src/main/java/code/_4_student_effort/_1_two_fighters/BoxingMatch.java b/_2_oo/src/main/java/code/_4_student_effort/_1_two_fighters/BoxingMatch.java new file mode 100644 index 000000000..f174a14a5 --- /dev/null +++ b/_2_oo/src/main/java/code/_4_student_effort/_1_two_fighters/BoxingMatch.java @@ -0,0 +1,31 @@ +package code._4_student_effort._1_two_fighters; + +public class BoxingMatch +{ + protected Fighter f1,f2; + + public BoxingMatch(Fighter f1,Fighter f2) + { + this.f1=f1; + this.f2=f2; + } + + public BoxingMatch() + { + f1=new Fighter(); + f2=new Fighter(); + } + public String fight() + { + while(f1.health!=0&&f2.health!=0) + { + f1.attack(f2); + if(f2.health==0) + return f1.name; + f2.attack(f1); + if(f1.health==0) + return f2.name; + } + return f1.name; + } +} diff --git a/_2_oo/src/main/java/code/_4_student_effort/_1_two_fighters/Fighter.java b/_2_oo/src/main/java/code/_4_student_effort/_1_two_fighters/Fighter.java new file mode 100644 index 000000000..4ad6b31a7 --- /dev/null +++ b/_2_oo/src/main/java/code/_4_student_effort/_1_two_fighters/Fighter.java @@ -0,0 +1,53 @@ +package code._4_student_effort._1_two_fighters; + +public class Fighter +{ + protected String name; + protected int health; + protected int damagePerAttack; + + public Fighter() + { + super(); + name=""; + damagePerAttack=0; + health=0; + } + public Fighter(String n,int h, int d) + { + name=n; + health=h; + damagePerAttack=d; + } + + public void setName(String n) + { + name=n; + } + public void setHealth(int h) + { + health=h; + } + public void setDamagePerAttack(int d) + { + damagePerAttack=d; + } + public String getName() + { + return name; + } + public int getDamagePerAttack() + { + return damagePerAttack; + } + public int getHealth() + { + return health; + } + public void attack(Fighter f) + { + f.health=f.health-this.damagePerAttack; + if(f.health<0) + f.health=0; + } +} diff --git a/_2_oo/src/main/java/code/_4_student_effort/_2_movie_database/Actor.java b/_2_oo/src/main/java/code/_4_student_effort/_2_movie_database/Actor.java new file mode 100644 index 000000000..763ea1c10 --- /dev/null +++ b/_2_oo/src/main/java/code/_4_student_effort/_2_movie_database/Actor.java @@ -0,0 +1,37 @@ +package code._4_student_effort._2_movie_database; + +public class Actor +{ + protected String nume; + protected int varsta; + protected Premiu [] premii; + + public Actor() + { + nume=""; + varsta=0; + premii=null; + } + public Actor(String s,int v,Premiu [] p) + { + nume=s; + varsta=v; + premii=p; + } + public String getNume() + { + return nume; + } + public int getVarsta() + { + return varsta; + } + public void afisare() + { + System.out.println("Actor: Nume"+nume+" / Varsta:"+varsta); + for(int i=0;i< premii.length;i++) + { + premii[i].afisare(); + } + } +} diff --git a/_2_oo/src/main/java/code/_4_student_effort/_2_movie_database/Film.java b/_2_oo/src/main/java/code/_4_student_effort/_2_movie_database/Film.java new file mode 100644 index 000000000..9e3814ad3 --- /dev/null +++ b/_2_oo/src/main/java/code/_4_student_effort/_2_movie_database/Film.java @@ -0,0 +1,37 @@ +package code._4_student_effort._2_movie_database; + +public class Film +{ + protected String nume; + protected int anAparitie; + protected Actor [] actori; + + public Film() + { + nume=""; + anAparitie=0; + actori=null; + } + public Film(String n,int an,Actor [] a) + { + nume=n; + anAparitie=an; + actori=a; + } + public Actor[] getActori() + { + return actori; + } + public String getNume() + { + return nume; + } + public void afisare() + { + System.out.println("Film: Nume: "+nume+" / An: "+anAparitie); + for(int i=0;iv[j]) + { + int aux; + aux=v[i]; + v[i]=v[j]; + v[j]=aux; + } + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/MergeSort.java b/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/MergeSort.java new file mode 100644 index 000000000..c4dd090b9 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/MergeSort.java @@ -0,0 +1,39 @@ +package code._4_student_effort._2_strategy; + +import java.util.Arrays; + +public class MergeSort implements SortingStrategy +{ + public void sort(int [] list) { + if (list.length < 2) { + return; + } + int mid = list.length / 2; + int [] left = Arrays.copyOfRange(list, 0, mid); + int[] right = Arrays.copyOfRange(list, mid, list.length); + + sort(left); + sort(right); + merge(left, right, list); + } + + private void merge(int [] left, int [] right, int [] list) { + int leftIndex = 0; + int rightIndex = 0; + int listIndex = 0; + + while (leftIndex < left.length && rightIndex < right.length) { + if (left[leftIndex]>right[rightIndex]) { + list[listIndex++] = left[leftIndex++]; + } else { + list[listIndex++] = right[rightIndex++]; + } + } + while (leftIndex < left.length) { + list[listIndex++] = left[leftIndex++]; + } + while (rightIndex < right.length) { + list[listIndex++] = right[rightIndex++]; + } + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/SortingStrategy.java b/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/SortingStrategy.java new file mode 100644 index 000000000..71b0746c8 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/SortingStrategy.java @@ -0,0 +1,6 @@ +package code._4_student_effort._2_strategy; + +public interface SortingStrategy +{ + public void sort(int [] v); +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/StrategyExample.java b/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/StrategyExample.java new file mode 100644 index 000000000..9e9c43b6e --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/_2_strategy/StrategyExample.java @@ -0,0 +1,21 @@ +package code._4_student_effort._2_strategy; + +import java.util.Arrays; + +public class StrategyExample +{ + public static void main(String[] args) + { + int [] arr=new int[] {1,4,5,2,3,6,9,8,7}; + int [] copy01ofArr= Arrays.copyOf(arr,arr.length); + int [] copy02ofArr=Arrays.copyOf(arr,arr.length); + displaySorted(new BubleSort(),copy01ofArr); + displaySorted(new MergeSort(),copy02ofArr); + } + public static void displaySorted(SortingStrategy strategy,int [] v) + { + strategy.sort(v); + for(int i=0;ib) + return true; + return false; + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/_5_template_method/DescBubbleSort.java b/_3_design_patterns/src/main/java/code/_4_student_effort/_5_template_method/DescBubbleSort.java new file mode 100644 index 000000000..ebbb63b73 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/_5_template_method/DescBubbleSort.java @@ -0,0 +1,11 @@ +package code._4_student_effort._5_template_method; + +public class DescBubbleSort extends TemplateMethodBubbleSort +{ + public boolean compara(int a,int b) + { + if(a list = new GenericList<>(rootValue); + /* GenericList list = new GenericList<>(rootValue); for (int i = 1; i < 10; i++) { list.insert(String.valueOf(Character.valueOf((char) (rootValue.charAt(0) + i)))); } - list.println(); + list.println();*/ } } diff --git a/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/GenericList.java b/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/GenericList.java index 7a5075a7e..bf794bd2d 100644 --- a/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/GenericList.java +++ b/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/GenericList.java @@ -4,9 +4,10 @@ public class GenericList implements IGenericList { private IGenericNode root; - public GenericList(T rootValue) { + public GenericList( IGenericNode root1) { this.root = new GenericNode<>(); - this.root.setValue(rootValue); + this.root.setValue(root1.getValue()); + this.root.setNext(root1.getNext()); } @Override diff --git a/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/IGenericList.java b/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/IGenericList.java index 996b41e0c..aea376644 100644 --- a/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/IGenericList.java +++ b/_5_generics/src/main/java/code/_2_challenge/_3_generic_linked_list/IGenericList.java @@ -1,7 +1,11 @@ package code._2_challenge._3_generic_linked_list; +import code._4_student_effort._4_genericc_iterator.IGenericNode; + public interface IGenericList { void insert(T element); void println(); + + IGenericNode getRoot(); } diff --git a/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/Currency.java b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/Currency.java new file mode 100644 index 000000000..848f61f7a --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/Currency.java @@ -0,0 +1,24 @@ +package code._4_student_effort._1_exchange_desk; + +public abstract class Currency +{ + private double units; + + public Currency() + { + units=0; + } + public Currency(double units) + { + this.units=units; + } + public void setUnits(double units) + { + this.units=units; + } + public double getUnits() + { + return units; + } + +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/ExchangeDesk.java b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/ExchangeDesk.java new file mode 100644 index 000000000..918f5d614 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/ExchangeDesk.java @@ -0,0 +1,6 @@ +package code._4_student_effort._1_exchange_desk; + +public class ExchangeDesk +{ + +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/Ron.java b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/Ron.java new file mode 100644 index 000000000..21b936d1d --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/Ron.java @@ -0,0 +1,27 @@ +package code._4_student_effort._1_exchange_desk; + +public class Ron extends Currency +{ + public Ron() + { + super(); + } + public Ron(double units) + { + super(units); + } + + @Override + public void setUnits(double units) + { + super.setUnits(units); + } + public double getUnits() + { + return super.getUnits(); + } + public String toString() + { + return this.getUnits()+"lei"; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/USD.java b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/USD.java new file mode 100644 index 000000000..ac7538052 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_1_exchange_desk/USD.java @@ -0,0 +1,21 @@ +package code._4_student_effort._1_exchange_desk; + +public class USD extends Currency +{ + public USD() + { + super(); + } + public USD(double units) + { + super(units); + } + public void setUnits(double units) + { + super.setUnits(units); + } + public String toString() + { + return getUnits()+"USD"; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Boot.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Boot.java new file mode 100644 index 000000000..0465b986c --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Boot.java @@ -0,0 +1,26 @@ +package code._4_student_effort._2_pairss; + +public class Boot implements Shoe +{ + private double size; + private String color; + + public Boot(double size,String color) + { + this.size=size; + this.color=color; + } + public Boot() + { + this(0,""); + } + public double getSize() + { + return size; + } + public String getColor() + { + return color; + } + +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/ColorDoesNotMatchException.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/ColorDoesNotMatchException.java new file mode 100644 index 000000000..3c7bd46df --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/ColorDoesNotMatchException.java @@ -0,0 +1,9 @@ +package code._4_student_effort._2_pairss; + +public class ColorDoesNotMatchException extends RuntimeException +{ + public ColorDoesNotMatchException(String message) + { + super(message); + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Heels.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Heels.java new file mode 100644 index 000000000..764bb6dbd --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Heels.java @@ -0,0 +1,25 @@ +package code._4_student_effort._2_pairss; + +public class Heels implements Shoe +{ + private double size; + private String color; + + public Heels(double size,String color) + { + this.size=size; + this.color=color; + } + public Heels() + { + this(0,""); + } + public double getSize() + { + return size; + } + public String getColor() + { + return color; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Pair.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Pair.java new file mode 100644 index 000000000..9cfe711a3 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Pair.java @@ -0,0 +1,31 @@ +package code._4_student_effort._2_pairss; + +import java.awt.*; + +public class Pair +{ + private T firstObject; + private T secondObject; + + public Pair(T firstObject,T secondObject) + { + this.firstObject=firstObject; + this.secondObject=secondObject; + this.match(firstObject,secondObject); + } + public void match(T firstObject,T secondObject) + { + if(!firstObject.getColor().equals(secondObject.getColor())) + throw new SizeDoNotMatchException("Size do not martch!"); + if(firstObject.getSize()!=secondObject.getSize()) + throw new ColorDoesNotMatchException("Color does not match!"); + } + public T getFirstObject() + { + return firstObject; + } + public T getSecondObject() + { + return secondObject; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/RunnableClass.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/RunnableClass.java new file mode 100644 index 000000000..2fb561284 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/RunnableClass.java @@ -0,0 +1,19 @@ +package code._4_student_effort._2_pairss; + +public class RunnableClass +{ + public static void main(String[] args) { + Running runningShoe1 = new Running(41, "RED"); + Running runningShoe2 = new Running(41, "RED"); + Pair pairOK = new Pair<>(runningShoe1, runningShoe2); + + Boot bootShoe = new Boot(45, "BLACK"); + //Pair pairNotOK = new Pair<>(runningShoe1, bootShoe); + + + Running runningShoe3 = new Running(41, "RED"); + Running runningShoe4 = new Running(42, "RED"); + Pair pair1 = new Pair<>(runningShoe3, runningShoe4); + + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Running.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Running.java new file mode 100644 index 000000000..e059aff71 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Running.java @@ -0,0 +1,26 @@ +package code._4_student_effort._2_pairss; + +public class Running implements Shoe +{ + private double size; + private String color; + + public Running(double size,String color) + { + this.size=size; + this.color=color; + } + + public Running() + { + this(0,""); + } + public double getSize() + { + return size; + } + public String getColor() + { + return color; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Shoe.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Shoe.java new file mode 100644 index 000000000..7cbaf6a8a --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/Shoe.java @@ -0,0 +1,7 @@ +package code._4_student_effort._2_pairss; + +public interface Shoe +{ + public double getSize(); + public String getColor(); +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/SizeDoNotMatchException.java b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/SizeDoNotMatchException.java new file mode 100644 index 000000000..c743f9f31 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_2_pairss/SizeDoNotMatchException.java @@ -0,0 +1,9 @@ +package code._4_student_effort._2_pairss; + +public class SizeDoNotMatchException extends RuntimeException +{ + public SizeDoNotMatchException(String message) + { + super(message); + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/Example.java b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/Example.java new file mode 100644 index 000000000..932367032 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/Example.java @@ -0,0 +1,18 @@ +package code._4_student_effort._3_genericc_linked_list; + +public class Example +{ + public static void main(String[] args) + { + IGenericNode node=new GenericNode(); + node.setValue(1); + node.setNext(null); + IGenericList list=new GenericList(node); + IGenericNode node2=new GenericNode(); + node.setValue(2); + // node2.setNext(null); + list.insert(node2); + list.println(); + + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/GenericList.java b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/GenericList.java new file mode 100644 index 000000000..bd9ac4bbf --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/GenericList.java @@ -0,0 +1,37 @@ +package code._4_student_effort._3_genericc_linked_list; + +public class GenericList implements IGenericList +{ + private IGenericNode root; + + public GenericList(IGenericNode node) + { + root.setValue(node.getValue()); + root.setNext(node.getNext()); + } + public void insert(IGenericNode node) + { + IGenericNode cursor=root; + while(cursor.getNext()!=null) + { + cursor=cursor.getNext(); + } + IGenericNode aux=new GenericNode(); + aux.setValue(node.getValue()); + aux.setNext(null); + cursor.setNext(aux); + } + public void println() + { + IGenericNode cursor=root; + while(cursor.getNext()!=null) + { + System.out.println(cursor.getValue()); + cursor=cursor.getNext(); + } + } + public IGenericNode getRoot() + { + return root; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/GenericNode.java b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/GenericNode.java new file mode 100644 index 000000000..19c907092 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/GenericNode.java @@ -0,0 +1,24 @@ +package code._4_student_effort._3_genericc_linked_list; + +public class GenericNode implements IGenericNode +{ + private T value; + private IGenericNode next; + + public T getValue() + { + return value; + } + public IGenericNode getNext() + { + return next; + } + public void setValue(T value) + { + this.value=value; + } + public void setNext(IGenericNode next) + { + this.next=next; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/IGenericList.java b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/IGenericList.java new file mode 100644 index 000000000..66f889a98 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/IGenericList.java @@ -0,0 +1,8 @@ +package code._4_student_effort._3_genericc_linked_list; + +public interface IGenericList +{ + public void insert(IGenericNode node); + public void println(); + public IGenericNode getRoot(); +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/IGenericNode.java b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/IGenericNode.java new file mode 100644 index 000000000..5a52b7b97 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_3_genericc_linked_list/IGenericNode.java @@ -0,0 +1,10 @@ +package code._4_student_effort._3_genericc_linked_list; + +public interface IGenericNode +{ + public T getValue(); + public void setValue(T value); + public IGenericNode getNext(); + public void setNext(IGenericNode next); + +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/ArrayIterator.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/ArrayIterator.java new file mode 100644 index 000000000..b3d196def --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/ArrayIterator.java @@ -0,0 +1,28 @@ +package code._4_student_effort._4_genericc_iterator; + +import java.lang.reflect.Array; + +public class ArrayIterator implements IArrayIterator +{ + private Integer index; + private T [] array; + + public ArrayIterator(T [] array) + { + index=0; + this.array=array; + } + + @Override + public boolean hasNext() + { + if(index< array.length) + return true; + else + return false; + } + public T next() + { + return array[index++]; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/Example1.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/Example1.java new file mode 100644 index 000000000..fb79284bc --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/Example1.java @@ -0,0 +1,16 @@ +package code._4_student_effort._4_genericc_iterator; + +public class Example1 +{ + public static void main(String[] args) + { + Integer [] arr1=new Integer[4]; + arr1[0]=0; + arr1[1]=1; + arr1[2]=2; + arr1[3]=3; + IArrayIterator it=new ArrayIterator(arr1); + while(it.hasNext()) + System.out.println(it.next()); + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/GenericList.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/GenericList.java new file mode 100644 index 000000000..72165132d --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/GenericList.java @@ -0,0 +1,37 @@ +package code._4_student_effort._3_genericc_linked_list; + +public class GenericList implements IGenericList +{ + private IGenericNode root; + + public GenericList(IGenericNode node) + { + root.setValue(node.getValue()); + root.setNext(node.getNext()); + } + public void insert(IGenericNode node) + { + IGenericNode cursor=root; + while(cursor.getNext()!=null) + { + cursor=cursor.getNext(); + } + IGenericNode aux=new GenericNode(); + aux.setValue(node.getValue()); + aux.setNext(null); + cursor.setNext(aux); + } + public void println() + { + IGenericNode cursor=root; + while(cursor.getNext()!=null) + { + System.out.println(cursor.getValue()); + cursor=cursor.getNext(); + } + } + public code._4_student_effort._4_genericc_iterator.IGenericNode getRoot() + { + return root; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/GenericNode.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/GenericNode.java new file mode 100644 index 000000000..19c907092 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/GenericNode.java @@ -0,0 +1,24 @@ +package code._4_student_effort._3_genericc_linked_list; + +public class GenericNode implements IGenericNode +{ + private T value; + private IGenericNode next; + + public T getValue() + { + return value; + } + public IGenericNode getNext() + { + return next; + } + public void setValue(T value) + { + this.value=value; + } + public void setNext(IGenericNode next) + { + this.next=next; + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IArrayIterator.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IArrayIterator.java new file mode 100644 index 000000000..08992ce4d --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IArrayIterator.java @@ -0,0 +1,7 @@ +package code._4_student_effort._4_genericc_iterator; + +public interface IArrayIterator +{ + public T next(); + public boolean hasNext(); +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IGenericList.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IGenericList.java new file mode 100644 index 000000000..a34b6bc63 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IGenericList.java @@ -0,0 +1,8 @@ +package code._4_student_effort._3_genericc_linked_list; + +public interface IGenericList +{ + public void insert(IGenericNode node); + public void println(); + public code._4_student_effort._4_genericc_iterator.IGenericNode getRoot(); +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IGenericNode.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IGenericNode.java new file mode 100644 index 000000000..dfa92dcce --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/IGenericNode.java @@ -0,0 +1,10 @@ +package code._4_student_effort._4_genericc_iterator; + +public interface IGenericNode +{ + public T getValue(); + public void setValue(T value); + public IGenericNode getNext(); + public void setNext(IGenericNode next); + +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/ListIterator.java b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/ListIterator.java new file mode 100644 index 000000000..88aa3b0d2 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_4_genericc_iterator/ListIterator.java @@ -0,0 +1,29 @@ +package code._4_student_effort._4_genericc_iterator; + +import code._2_challenge._3_generic_linked_list.IGenericList; +import code._4_student_effort._3_genericc_linked_list.GenericList; +import code._4_student_effort._3_genericc_linked_list.GenericNode; + +public class ListIterator implements IArrayIterator +{ + IGenericNode cursor; + IGenericList list; + + public ListIterator(IGenericList list1) + { + list=list1; + cursor=list.getRoot(); + } + public boolean hasNext() + { + cursor=cursor.getNext(); + if(cursor!=null) + return true; + else + return false; + } + public T next() + { + return cursor.getValue(); + } +} diff --git a/_5_generics/src/main/java/code/_4_student_effort/_5_genericc_binary_search/Main.java b/_5_generics/src/main/java/code/_4_student_effort/_5_genericc_binary_search/Main.java new file mode 100644 index 000000000..8144bdfd0 --- /dev/null +++ b/_5_generics/src/main/java/code/_4_student_effort/_5_genericc_binary_search/Main.java @@ -0,0 +1,20 @@ +package code._4_student_effort._5_genericc_binary_search; + +public class Main +{ + public static void main(String[] args) + { + Integer [] v=new Integer[10]; + v[0]=1; + v[1]=2; + v[2]=3; + v[3]=4; + v[4]=5; + v[5]=6; + v[6]=7; + v[7]=8; + v[8]=9; + v[9]=10; + } + public static T +} diff --git a/_5_generics/src/main/java/code/out/production/code/code/_0_activity/GenericsActivity$BubleSort.class b/_5_generics/src/main/java/code/out/production/code/code/_0_activity/GenericsActivity$BubleSort.class new file mode 100644 index 000000000..618205583 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_0_activity/GenericsActivity$BubleSort.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_0_activity/GenericsActivity.class b/_5_generics/src/main/java/code/out/production/code/code/_0_activity/GenericsActivity.class new file mode 100644 index 000000000..0522e8eb2 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_0_activity/GenericsActivity.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_1_pecs/Pecs.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_1_pecs/Pecs.class new file mode 100644 index 000000000..0e69b33ed Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_1_pecs/Pecs.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_2_heap_pollution/HeapPollution.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_2_heap_pollution/HeapPollution.class new file mode 100644 index 000000000..65e863048 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_2_heap_pollution/HeapPollution.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/Node.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/Node.class new file mode 100644 index 000000000..33b77ac6b Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/Node.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/Node2.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/Node2.class new file mode 100644 index 000000000..4fe1c98af Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/Node2.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/TypeErrasure.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/TypeErrasure.class new file mode 100644 index 000000000..2b611946e Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_3_type_errasure/TypeErrasure.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/ClothingItem.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/ClothingItem.class new file mode 100644 index 000000000..97472a544 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/ClothingItem.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Glove.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Glove.class new file mode 100644 index 000000000..e73e7cdc6 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Glove.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/GlovesAndSocksExample.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/GlovesAndSocksExample.class new file mode 100644 index 000000000..2d7f1e852 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/GlovesAndSocksExample.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Pair.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Pair.class new file mode 100644 index 000000000..3b562e0f5 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Pair.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/PairDoesNotMatch.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/PairDoesNotMatch.class new file mode 100644 index 000000000..e0391d1de Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/PairDoesNotMatch.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Sock.class b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Sock.class new file mode 100644 index 000000000..72f498e74 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_1_study/_4_gloves_and_socks/Sock.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Currency.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Currency.class new file mode 100644 index 000000000..366747f98 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Currency.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDesk.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDesk.class new file mode 100644 index 000000000..f280e85f6 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDesk.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDeskChallenge.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDeskChallenge.class new file mode 100644 index 000000000..9c40e748a Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDeskChallenge.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDeskConversionException.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDeskConversionException.class new file mode 100644 index 000000000..ba8388f4d Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/ExchangeDeskConversionException.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Ron.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Ron.class new file mode 100644 index 000000000..2cafe0db4 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Ron.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Usd.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Usd.class new file mode 100644 index 000000000..e98d1331b Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_1_exchange_desk/Usd.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Boot.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Boot.class new file mode 100644 index 000000000..2666a5e70 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Boot.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/ColorsDoNotMatchException.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/ColorsDoNotMatchException.class new file mode 100644 index 000000000..42def7b4f Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/ColorsDoNotMatchException.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Heels.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Heels.class new file mode 100644 index 000000000..1473fa7a5 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Heels.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Pair.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Pair.class new file mode 100644 index 000000000..6909e02f8 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Pair.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/PairsChallenge.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/PairsChallenge.class new file mode 100644 index 000000000..2e6c5039b Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/PairsChallenge.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Running.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Running.class new file mode 100644 index 000000000..b1fa487b9 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Running.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Shoe.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Shoe.class new file mode 100644 index 000000000..115eb7110 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/Shoe.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/SizesDoNotMatchException.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/SizesDoNotMatchException.class new file mode 100644 index 000000000..172a68b41 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_2_pairs/SizesDoNotMatchException.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericLinkedListChallenge.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericLinkedListChallenge.class new file mode 100644 index 000000000..4339d6e10 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericLinkedListChallenge.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericList.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericList.class new file mode 100644 index 000000000..56fdbbe39 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericList.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericNode.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericNode.class new file mode 100644 index 000000000..2e22d3f3f Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/GenericNode.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/IGenericList.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/IGenericList.class new file mode 100644 index 000000000..9c9955672 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/IGenericList.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/IGenericNode.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/IGenericNode.class new file mode 100644 index 000000000..596e8cf42 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_3_generic_linked_list/IGenericNode.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/ArrayIterator.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/ArrayIterator.class new file mode 100644 index 000000000..063ef2483 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/ArrayIterator.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/GenericIteratorChallenge.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/GenericIteratorChallenge.class new file mode 100644 index 000000000..4beb0352c Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/GenericIteratorChallenge.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/Glove.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/Glove.class new file mode 100644 index 000000000..0b416d379 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/Glove.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/IArrayIterator.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/IArrayIterator.class new file mode 100644 index 000000000..648ff1009 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/IArrayIterator.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/Sock.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/Sock.class new file mode 100644 index 000000000..797ca4fca Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_4_generic_iterator/Sock.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_5_generic_binary_search/ArrayNotSortedException.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_5_generic_binary_search/ArrayNotSortedException.class new file mode 100644 index 000000000..e6c912ccd Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_5_generic_binary_search/ArrayNotSortedException.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_5_generic_binary_search/GenericBinarySearchChallenge.class b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_5_generic_binary_search/GenericBinarySearchChallenge.class new file mode 100644 index 000000000..f977cf1fe Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_2_challenge/_5_generic_binary_search/GenericBinarySearchChallenge.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_3_in_class/Main.class b/_5_generics/src/main/java/code/out/production/code/code/_3_in_class/Main.class new file mode 100644 index 000000000..e3969b684 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_3_in_class/Main.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/Main.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/Main.class new file mode 100644 index 000000000..7990d91a1 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/Main.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/Currency.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/Currency.class new file mode 100644 index 000000000..198102450 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/Currency.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/ExchangeDesk.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/ExchangeDesk.class new file mode 100644 index 000000000..e8d0a1b27 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/ExchangeDesk.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/Ron.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/Ron.class new file mode 100644 index 000000000..888d4a334 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/Ron.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/USD.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/USD.class new file mode 100644 index 000000000..3ef9c9ea9 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_1_exchange_desk/USD.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Boot.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Boot.class new file mode 100644 index 000000000..3280c5e57 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Boot.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/ColorDoesNotMatchException.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/ColorDoesNotMatchException.class new file mode 100644 index 000000000..5fc8a2218 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/ColorDoesNotMatchException.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Heels.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Heels.class new file mode 100644 index 000000000..58ff05165 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Heels.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Pair.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Pair.class new file mode 100644 index 000000000..c39b61fe3 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Pair.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/RunnableClass.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/RunnableClass.class new file mode 100644 index 000000000..029d1ec5b Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/RunnableClass.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Running.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Running.class new file mode 100644 index 000000000..ffdf97150 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Running.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Shoe.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Shoe.class new file mode 100644 index 000000000..2d9036d7c Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/Shoe.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/SizeDoNotMatchException.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/SizeDoNotMatchException.class new file mode 100644 index 000000000..04a88d16d Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_2_pairss/SizeDoNotMatchException.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/Example.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/Example.class new file mode 100644 index 000000000..f8e552bec Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/Example.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/GenericList.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/GenericList.class new file mode 100644 index 000000000..e112e697d Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/GenericList.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/GenericNode.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/GenericNode.class new file mode 100644 index 000000000..055b2b36d Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/GenericNode.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/IGenericList.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/IGenericList.class new file mode 100644 index 000000000..3e8342117 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/IGenericList.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/IGenericNode.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/IGenericNode.class new file mode 100644 index 000000000..4491a15c8 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_3_genericc_linked_list/IGenericNode.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/ArrayIterator.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/ArrayIterator.class new file mode 100644 index 000000000..6706dc2f1 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/ArrayIterator.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/Example1.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/Example1.class new file mode 100644 index 000000000..4102eb379 Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/Example1.class differ diff --git a/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/IArrayIterator.class b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/IArrayIterator.class new file mode 100644 index 000000000..05f8ad4db Binary files /dev/null and b/_5_generics/src/main/java/code/out/production/code/code/_4_student_effort/_4_genericc_iterator/IArrayIterator.class differ diff --git a/_6_collections/src/main/java/code/_4_student_effort/_1_lleaders/LeadersChalllenge.java b/_6_collections/src/main/java/code/_4_student_effort/_1_lleaders/LeadersChalllenge.java new file mode 100644 index 000000000..d3e3dcc4f --- /dev/null +++ b/_6_collections/src/main/java/code/_4_student_effort/_1_lleaders/LeadersChalllenge.java @@ -0,0 +1,35 @@ +package code._4_student_effort._1_lleaders; + +import java.util.*; + +public class LeadersChalllenge +{ + public static void main(String[] args) + { + List list = Arrays.asList(3, 5, 9, 2, 4, 8, 7, 6); //9,8,7,6 are leaders + findLeaders(list); + List leadersList=new ArrayList<>(); + leadersList=findLeaders(list); + afisare(leadersList); + } + public static List findLeaders(List list) + { + List leadersList=new ArrayList<>(); + for(int i=0;i< list.size();i++) + { + boolean isLeader=true; + for(int j=i+1;j list) + { + ListIterator iterator1= list.listIterator(); + while(iterator1.hasNext()) + System.out.println(iterator1.next()+" is a leader"); + } +} diff --git a/_6_collections/src/main/java/code/_4_student_effort/_2_pascall_triangle/PascalTriangleChallenge.java b/_6_collections/src/main/java/code/_4_student_effort/_2_pascall_triangle/PascalTriangleChallenge.java new file mode 100644 index 000000000..460d73f0b --- /dev/null +++ b/_6_collections/src/main/java/code/_4_student_effort/_2_pascall_triangle/PascalTriangleChallenge.java @@ -0,0 +1,46 @@ +package code._4_student_effort._2_pascall_triangle; + +import java.util.ArrayList; +import java.util.List; + +public class PascalTriangleChallenge +{ + public static void main(String[] args) + { + List> list=generatePascalTriangle(8); + afisare(list); + + } + public static List> generatePascalTriangle(int n) + { + List> triangle=new ArrayList<>(); + for(int i=0;i()); + triangle.get(i).add(1); + if((i!=0)&&(i!=1)) + { + if (triangle.get(i - 1).size() >= 2) + { + for (int k = 0; k < triangle.get(i - 1).size() - 1; k++) + { + Integer sum = triangle.get(i - 1).get(k) + triangle.get(i - 1).get(k + 1); + triangle.get(i).add(sum); + } + } + } + if(i!=0) + triangle.get(i).add(1); + } + return triangle; + } + public static void afisare(List> list) + { + for(int i=0;i> list=generateBellTriangle(5); + afisare(list); + } + public static List> generateBellTriangle(Integer n) + { + List> triangle=new ArrayList<>(); + for(int i=0;i()); + if (i == 0) + triangle.get(i).add(1); + if(i!=0) + { + triangle.get(i).add(triangle.get(i-1).get(triangle.get(i-1).size()-1)); + for(int j=0;j> list) + { + for(int i=0;i list1 = asList(1, 2, 3, 4, 5,12,13,13); + List list2 = asList(3, 4, 5, 6, 7, 8, 9, 10,11,23); + List list3 = mergeSortedLists(list1,list2); + afisare(list3); + } + public static List mergeSortedLists(List list1,List list2) + { + List list=new ArrayList<>(); + Integer index1=0; + Integer index2=0; + while(list.size()!=list1.size()+list2.size() && index1!=list1.size() && index2!=list2.size()) + { + if(list1.get(index1) list) + { + for(int i=0;i=index;j--) + {System.out.print(v[n-index-1][j]+" "); + ok=true;} + for(int i=n-index-2;i>=index+1;i--) + {System.out.print(v[i][index]+" "); + ok=true;} + index++; + } + } + public static void afisareNormala(Integer [][] v) + { + for(int i=0;i +{ + public static void main(String[] args) + { + MyHashhTable map=new MyHashhTableImpl(); + map=createMap(); + afisare(map); + } + public static MyHashhTable createMap() + { + Integer[] a=new Integer[]{1,2,3}; + String[] s=new String[]{"unu","doi","trei"}; + MyHashhTable map=new MyHashhTableImpl(); + map.put(a[0],s[0]); + map.put(a[1],s[1]); + map.put(a[2],s[2]); + return map; + } + public static void afisare(MyHashhTable map) + { + for(int i=0;i +{ + public V get(K key); + public void put(K key, V value); + public void remove(K key); + public boolean containsKey(K key); + public int size(); +} diff --git a/_6_collections/src/main/java/code/_4_student_effort/_7_my_hashhtable/MyHashhTableImpl.java b/_6_collections/src/main/java/code/_4_student_effort/_7_my_hashhtable/MyHashhTableImpl.java new file mode 100644 index 000000000..9c3283c53 --- /dev/null +++ b/_6_collections/src/main/java/code/_4_student_effort/_7_my_hashhtable/MyHashhTableImpl.java @@ -0,0 +1,32 @@ +package code._4_student_effort._7_my_hashhtable; + +public class MyHashhTableImpl implements MyHashhTable +{ + private Object[] values = new Object[Integer.MAX_VALUE / 100]; + private int nrOfElements = 0; + + public V get(K key) + { + return (V) values[key.hashCode()]; + } + public void put(K key, V value) + { + values[key.hashCode()]=value; + nrOfElements++; + } + public void remove(K key) + { + values[key.hashCode()]=null; + } + public boolean containsKey(K key) + { + if(values[key.hashCode()]!=null) + return true; + else + return true; + } + public int size() + { + return nrOfElements; + } +} diff --git a/_6_collections/src/main/java/code/_4_student_effort/_8_My_ArrayList/Challenge.java b/_6_collections/src/main/java/code/_4_student_effort/_8_My_ArrayList/Challenge.java new file mode 100644 index 000000000..ec44d7ce5 --- /dev/null +++ b/_6_collections/src/main/java/code/_4_student_effort/_8_My_ArrayList/Challenge.java @@ -0,0 +1,17 @@ +package code._4_student_effort._8_My_ArrayList; + +public class Challenge +{ + public static void main(String[] args) + { + MyArrayList list=new MyArrayListImpl(); + list.add(1); + list.add(2); + list.add(3); + list.set(1,0); + for(int i=0;i +{ + public void add(T e); + public void remove(T e); + public T get(int index); + public void set(int index,T e); + public int size(); +} diff --git a/_6_collections/src/main/java/code/_4_student_effort/_8_My_ArrayList/MyArrayListImpl.java b/_6_collections/src/main/java/code/_4_student_effort/_8_My_ArrayList/MyArrayListImpl.java new file mode 100644 index 000000000..daeaf69c9 --- /dev/null +++ b/_6_collections/src/main/java/code/_4_student_effort/_8_My_ArrayList/MyArrayListImpl.java @@ -0,0 +1,36 @@ +package code._4_student_effort._8_My_ArrayList; + +import java.util.Arrays; + +public class MyArrayListImpl implements MyArrayList +{ + private Object[] list=new Object[0]; + + public void add(T e) + { + list= Arrays.copyOf(list,list.length+1); + list[list.length-1]=e; + } + public void remove(T e) + { + for(int i=0;i +{ + public void add(T e); + public void remove(T e); + public T get(int index); + public void set(int index,T e); + public int size(); + public boolean contains(T e); +} diff --git a/_6_collections/src/main/java/code/_4_student_effort/_9_My_Set/MySetImpl.java b/_6_collections/src/main/java/code/_4_student_effort/_9_My_Set/MySetImpl.java new file mode 100644 index 000000000..327dffcd7 --- /dev/null +++ b/_6_collections/src/main/java/code/_4_student_effort/_9_My_Set/MySetImpl.java @@ -0,0 +1,48 @@ +package code._4_student_effort._9_My_Set; + +import java.util.Arrays; + +public class MySetImpl implements MySet +{ + private Object[] list=new Object[0]; + + public void add(T e) + { + boolean ok=true; + for(int i=0;i=amount) + debit=debit-amount; + else + System.out.println("There are not enough money in this bank"); + } + public void deposit(int amount) + { + simulateLongDatabaseCall(); + debit=debit+amount; + } + public void simulateLongDatabaseCall() + { + try{ + Thread.sleep(100); + } catch (InterruptedException e){ + e.printStackTrace(); + } + } +} diff --git a/_7_concurrency/src/main/java/code/_4_student_effort/_2_Bank_transactions/Challenge.java b/_7_concurrency/src/main/java/code/_4_student_effort/_2_Bank_transactions/Challenge.java new file mode 100644 index 000000000..177895388 --- /dev/null +++ b/_7_concurrency/src/main/java/code/_4_student_effort/_2_Bank_transactions/Challenge.java @@ -0,0 +1,41 @@ +package code._4_student_effort._2_Bank_transactions; + +import code._2_challenge._2_bank_transactions.BankAccount; +import code._2_challenge._2_bank_transactions.TransactionThread; + +public class Challenge +{ + public static void main(String[] args) throws Exception + { + /* BankAccount bank1=new BankAccount("Banca1",100); + BankAccount bank2=new BankAccount("Banca2",200); + TransactionThread transactionThread1=new TransactionThread("Tranzactie1",bank1,bank2,10); + TransactionThread transactionThread2=new TransactionThread("tranzactie2",bank2,bank1,30); + transactionThread1.start(); + transactionThread2.start(); + // transactionThread1.join(); + // transactionThread2.join();*/ + code._2_challenge._2_bank_transactions.BankAccount momAccount = new code._2_challenge._2_bank_transactions.BankAccount("mom", 100_000); + code._2_challenge._2_bank_transactions.BankAccount myAccount = new BankAccount("me", 100); + System.out.println("before:"); + System.out.println(momAccount); + System.out.println(myAccount); + + code._2_challenge._2_bank_transactions.TransactionThread t1 = new code._2_challenge._2_bank_transactions.TransactionThread("T1", momAccount, myAccount, 10); + code._2_challenge._2_bank_transactions.TransactionThread t2 = new TransactionThread("T2", momAccount, myAccount, 100); + + //start transacting + t1.start(); + t2.start(); + + //wait for transfers to be completed + t1.join(); + t2.join(); + + System.out.println("after:"); + System.out.println(momAccount); + System.out.println(myAccount); + } + +} + diff --git a/_7_concurrency/src/main/java/code/_4_student_effort/_2_Bank_transactions/TransactionThread.java b/_7_concurrency/src/main/java/code/_4_student_effort/_2_Bank_transactions/TransactionThread.java new file mode 100644 index 000000000..ccb27d4c9 --- /dev/null +++ b/_7_concurrency/src/main/java/code/_4_student_effort/_2_Bank_transactions/TransactionThread.java @@ -0,0 +1,35 @@ +package code._4_student_effort._2_Bank_transactions; + +public class TransactionThread extends Thread +{ + private String name; + private BankAccount from; + private BankAccount to; + private int amount; + public TransactionThread(String name,BankAccount from, BankAccount to, int amount) + { + super(name); + this.from=from; + this.to=to; + this.amount=amount; + } + public void run() + { + transfer(from,to,amount); + } + public boolean transfer(BankAccount from, BankAccount to, int amount) + { + boolean success = false; + synchronized(from) //locking on intrinsic lock of 'from' Object + { + from.withdraw(amount); + synchronized (to) //locking on intrinsic lock of 'to' Object + { + to.deposit(amount); + success=true; + } + } + return success; + } + +} diff --git a/_7_concurrency/src/main/java/code/_4_student_effort/_3_rock_paper_scissors/Challenge.java b/_7_concurrency/src/main/java/code/_4_student_effort/_3_rock_paper_scissors/Challenge.java new file mode 100644 index 000000000..f05d05203 --- /dev/null +++ b/_7_concurrency/src/main/java/code/_4_student_effort/_3_rock_paper_scissors/Challenge.java @@ -0,0 +1,17 @@ +package code._4_student_effort._3_rock_paper_scissors; + +public class Challenge +{ + public static void main(String[] args) throws Throwable + { + Player p1=new Player("Fabi",""); + Player p2=new Player("Andra", ""); + p1.start(); + p2.start(); + + p1.join(); + p2.join(); + + System.out.println("Extragereile au fost "+ p1.getExtragere() + " si "+ p2.getExtragere()); + } +} diff --git a/_7_concurrency/src/main/java/code/_4_student_effort/_3_rock_paper_scissors/Player.java b/_7_concurrency/src/main/java/code/_4_student_effort/_3_rock_paper_scissors/Player.java new file mode 100644 index 000000000..a4c28d9de --- /dev/null +++ b/_7_concurrency/src/main/java/code/_4_student_effort/_3_rock_paper_scissors/Player.java @@ -0,0 +1,30 @@ +package code._4_student_effort._3_rock_paper_scissors; + +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +public class Player extends Thread +{ + private String nume; + private String extragere; + + public Player(String nume,String extragere) + { + this.nume=nume; + this.extragere=extragere; + } + public void run() + { + this.randomExtraction(); + } + public void randomExtraction() + { + List options= Arrays.asList("Piatra","Hartie","Foarfeca"); + extragere=options.get(new Random().nextInt(3)); + } + public String getExtragere() + { + return extragere; + } +} diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/Main.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/Main.class new file mode 100644 index 000000000..717d10d7c Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/Main.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_1_contention/ContentionExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_1_contention/ContentionExample.class new file mode 100644 index 000000000..83cb1ff9c Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_1_contention/ContentionExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_1_contention/MyThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_1_contention/MyThread.class new file mode 100644 index 000000000..f76936133 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_1_contention/MyThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/Consumer.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/Consumer.class new file mode 100644 index 000000000..711238e50 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/Consumer.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/IChannel.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/IChannel.class new file mode 100644 index 000000000..079c1aa1e Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/IChannel.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/LackOfCoordinationChannel.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/LackOfCoordinationChannel.class new file mode 100644 index 000000000..7ad34b9e2 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/LackOfCoordinationChannel.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/LackOfCoordinationExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/LackOfCoordinationExample.class new file mode 100644 index 000000000..0b1127974 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/LackOfCoordinationExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/Producer.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/Producer.class new file mode 100644 index 000000000..f40263b14 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_2_lack_of_coordination/Producer.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/Consumer.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/Consumer.class new file mode 100644 index 000000000..05f7d4653 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/Consumer.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/GoodCoordinationChannel.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/GoodCoordinationChannel.class new file mode 100644 index 000000000..b9dd66324 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/GoodCoordinationChannel.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/GoodCoordinationExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/GoodCoordinationExample.class new file mode 100644 index 000000000..27b27ff8d Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/GoodCoordinationExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/IChannel.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/IChannel.class new file mode 100644 index 000000000..ce7962128 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/IChannel.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/Producer.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/Producer.class new file mode 100644 index 000000000..b2b13e977 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_3_good_coordination/Producer.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/OnePersonKitchen.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/OnePersonKitchen.class new file mode 100644 index 000000000..c80fe1d8b Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/OnePersonKitchen.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/Person.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/Person.class new file mode 100644 index 000000000..bce044fe4 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/Person.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/PersonThatNeverFinishesEating.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/PersonThatNeverFinishesEating.class new file mode 100644 index 000000000..0d6eaee41 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/PersonThatNeverFinishesEating.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/StarvationExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/StarvationExample.class new file mode 100644 index 000000000..31bcc7038 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_4_starvation/StarvationExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/BankAccount.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/BankAccount.class new file mode 100644 index 000000000..44780e2f4 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/BankAccount.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/IntrinsicLocksExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/IntrinsicLocksExample.class new file mode 100644 index 000000000..fe42dad88 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/IntrinsicLocksExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/TransactionThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/TransactionThread.class new file mode 100644 index 000000000..0154f3012 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_5_intrinsic_locks/TransactionThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/BankAccount.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/BankAccount.class new file mode 100644 index 000000000..df270537d Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/BankAccount.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/LockObjectsExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/LockObjectsExample.class new file mode 100644 index 000000000..40228f357 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/LockObjectsExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/TransactionThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/TransactionThread.class new file mode 100644 index 000000000..22fe0e65a Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_6_lock_objects/TransactionThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/BankAccount.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/BankAccount.class new file mode 100644 index 000000000..fe64f5850 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/BankAccount.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/DeadlockExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/DeadlockExample.class new file mode 100644 index 000000000..a90a9b086 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/DeadlockExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/TransactionThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/TransactionThread.class new file mode 100644 index 000000000..8b68ac2c1 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_7_deadlock/TransactionThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/BankAccount.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/BankAccount.class new file mode 100644 index 000000000..4144f70fd Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/BankAccount.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/LivelockExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/LivelockExample.class new file mode 100644 index 000000000..fbd97cf7f Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/LivelockExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/TransactionThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/TransactionThread.class new file mode 100644 index 000000000..462369c3c Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_8_livelock/TransactionThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_9_executors/ExecutorsExample.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_9_executors/ExecutorsExample.class new file mode 100644 index 000000000..08b3d17cb Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_9_executors/ExecutorsExample.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_9_executors/Task.class b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_9_executors/Task.class new file mode 100644 index 000000000..da9645b96 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_1_study/_9_executors/Task.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/Main.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/Main.class new file mode 100644 index 000000000..9598288e9 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/Main.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitRaceChallenge.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitRaceChallenge.class new file mode 100644 index 000000000..a17904272 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitRaceChallenge.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitRunnable.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitRunnable.class new file mode 100644 index 000000000..22816f740 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitRunnable.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitThread.class new file mode 100644 index 000000000..ac6e584f4 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_1_rabbit_race/RabbitThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/BankAccount.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/BankAccount.class new file mode 100644 index 000000000..f9005fdb7 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/BankAccount.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/BankTransactionschallenge.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/BankTransactionschallenge.class new file mode 100644 index 000000000..f17f37a72 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/BankTransactionschallenge.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/TransactionThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/TransactionThread.class new file mode 100644 index 000000000..c8653cc95 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_2_bank_transactions/TransactionThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_3_rock_paper_scissors/RockPaperScissorsChallenge$Player.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_3_rock_paper_scissors/RockPaperScissorsChallenge$Player.class new file mode 100644 index 000000000..6cf164a01 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_3_rock_paper_scissors/RockPaperScissorsChallenge$Player.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_3_rock_paper_scissors/RockPaperScissorsChallenge.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_3_rock_paper_scissors/RockPaperScissorsChallenge.class new file mode 100644 index 000000000..0ff20a008 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/_3_rock_paper_scissors/RockPaperScissorsChallenge.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/Chopstick.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/Chopstick.class new file mode 100644 index 000000000..53dcae605 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/Chopstick.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/DiningPhilosophersChallenge.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/DiningPhilosophersChallenge.class new file mode 100644 index 000000000..1e55e4b3c Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/DiningPhilosophersChallenge.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/Philosopher.class b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/Philosopher.class new file mode 100644 index 000000000..d78e51ab1 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_2_challenge/hard/_1_dining_philosophers/Philosopher.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_3_in_class/Main.class b/_7_concurrency/src/main/java/code/out/production/code/code/_3_in_class/Main.class new file mode 100644 index 000000000..3c17820f1 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_3_in_class/Main.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/Main.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/Main.class new file mode 100644 index 000000000..7990d91a1 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/Main.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/Challenge.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/Challenge.class new file mode 100644 index 000000000..737e2fb12 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/Challenge.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/RabbitRunnable.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/RabbitRunnable.class new file mode 100644 index 000000000..5de3f6578 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/RabbitRunnable.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/RabbitThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/RabbitThread.class new file mode 100644 index 000000000..b4788f578 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_1_rabbbit_race/RabbitThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/BankAccount.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/BankAccount.class new file mode 100644 index 000000000..269a38d3e Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/BankAccount.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/Challenge.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/Challenge.class new file mode 100644 index 000000000..015a89d60 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/Challenge.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/TransactionThread.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/TransactionThread.class new file mode 100644 index 000000000..fb54806ab Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_2_Bank_transactions/TransactionThread.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_3_rock_paper_scissors/Challenge.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_3_rock_paper_scissors/Challenge.class new file mode 100644 index 000000000..a0d48f7e6 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_3_rock_paper_scissors/Challenge.class differ diff --git a/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_3_rock_paper_scissors/Player.class b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_3_rock_paper_scissors/Player.class new file mode 100644 index 000000000..7c0787df1 Binary files /dev/null and b/_7_concurrency/src/main/java/code/out/production/code/code/_4_student_effort/_3_rock_paper_scissors/Player.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Main.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Main.class new file mode 100644 index 000000000..c14bc3796 Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Main.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Employee.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Employee.class new file mode 100644 index 000000000..6c804f727 Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Employee.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/EmployeeFactory.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/EmployeeFactory.class new file mode 100644 index 000000000..cdd07ce26 Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/EmployeeFactory.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanAbstractFactory.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanAbstractFactory.class new file mode 100644 index 000000000..852e4995f Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanAbstractFactory.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanFactory.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanFactory.class new file mode 100644 index 000000000..bdc94882c Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/HumanFactory.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Intern.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Intern.class new file mode 100644 index 000000000..e31bdeb5e Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Intern.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/InternFactory.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/InternFactory.class new file mode 100644 index 000000000..ffaf409eb Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/InternFactory.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/ObservedSubject.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/ObservedSubject.class new file mode 100644 index 000000000..d8fde1583 Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/ObservedSubject.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Observer.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Observer.class new file mode 100644 index 000000000..c691f0c85 Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Observer.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Supervisor.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Supervisor.class new file mode 100644 index 000000000..ae291e62e Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/Supervisor.class differ diff --git a/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/SupervisorFactory.class b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/SupervisorFactory.class new file mode 100644 index 000000000..5451b82a2 Binary files /dev/null and b/clean_code_projects/Proiect_java_1/out/production/Proiect_java_1/Package1/SupervisorFactory.class differ diff --git a/clean_code_projects/Proiect_java_1/src/Main.java b/clean_code_projects/Proiect_java_1/src/Main.java new file mode 100644 index 000000000..f42cd4c06 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Main.java @@ -0,0 +1,16 @@ +import Package1.*; + +public class Main +{ + public static void main(String[] args) + { + ObservedSubject supervisor1= HumanFactory.getObservedSubject(new SupervisorFactory()); + Observer intern1=HumanFactory.getObserver(new InternFactory()); + Observer employee1=HumanFactory.getObserver(new EmployeeFactory()); + supervisor1.register(intern1); + supervisor1.register(employee1); + supervisor1.notify("Excellent work!"); + System.out.println("Feedback-ul intern-ului si al angajatului este:"); + System.out.println(intern1.getFeedback()); + } +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/Employee.java b/clean_code_projects/Proiect_java_1/src/Package1/Employee.java new file mode 100644 index 000000000..d4ebda487 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/Employee.java @@ -0,0 +1,33 @@ +package Package1; + +public class Employee implements Observer +{ + private String nume; + private Integer varsta; + private String specializare; + private Integer aniExperienta; + private String sup; + private String feedback; + + public Employee(String n,Integer v,String spec,Integer a,String suup,String fdb) + { + nume=n; + varsta=v; + specializare=spec; + aniExperienta=a; + sup=suup; + feedback=fdb; + } + public Employee() + { + this("",0,"",0,"",""); + } + public void update(String message) + { + feedback=message; + } + public String getFeedback() + { + return feedback; + } +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/EmployeeFactory.java b/clean_code_projects/Proiect_java_1/src/Package1/EmployeeFactory.java new file mode 100644 index 000000000..c83ffa904 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/EmployeeFactory.java @@ -0,0 +1,28 @@ +package Package1; + +import java.util.Scanner; + +public class EmployeeFactory implements HumanAbstractFactory +{ + public Observer createObserver() + { + System.out.println("Introduceti date despre un nou angajat"); + Scanner input=new Scanner(System.in); + System.out.println("Nume;"); + String n=input.next(); + System.out.println("Varsta"); + Integer v=input.nextInt(); + System.out.println("Specializare:"); + String s=input.next(); + System.out.println("Ani_Experienta: "); + Integer ani=input.nextInt(); + System.out.println("Nume Supervisor:"); + String sup=input.next(); + return new Employee(n,v,s,ani,sup,""); + } + + @Override + public ObservedSubject createObservedSubject() { + return null; + } +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/HumanAbstractFactory.java b/clean_code_projects/Proiect_java_1/src/Package1/HumanAbstractFactory.java new file mode 100644 index 000000000..bb6214ba9 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/HumanAbstractFactory.java @@ -0,0 +1,7 @@ +package Package1; + +public interface HumanAbstractFactory +{ + public ObservedSubject createObservedSubject(); + public Observer createObserver(); +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/HumanFactory.java b/clean_code_projects/Proiect_java_1/src/Package1/HumanFactory.java new file mode 100644 index 000000000..ab39ab5f9 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/HumanFactory.java @@ -0,0 +1,13 @@ +package Package1; + +public class HumanFactory +{ + public static ObservedSubject getObservedSubject(HumanAbstractFactory h) + { + return h.createObservedSubject(); + } + public static Observer getObserver(HumanAbstractFactory h) + { + return h.createObserver(); + } +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/Intern.java b/clean_code_projects/Proiect_java_1/src/Package1/Intern.java new file mode 100644 index 000000000..34691a2d8 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/Intern.java @@ -0,0 +1,33 @@ +package Package1; + +public class Intern implements Observer +{ + private String nume; + private String facultate; + private Integer varsta; + private boolean experientaAnterioara; + private String sup; + String feedback; + + public Intern(String n,String f,Integer v,boolean e,String s,String fdb) + { + nume=n; + facultate=f; + varsta=v; + experientaAnterioara=e; + sup=s; + feedback=fdb; + } + public Intern() + { + this("","",0,false,"",""); + } + public void update(String message) + { + feedback=message; + } + public String getFeedback() + { + return feedback; + } +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/InternFactory.java b/clean_code_projects/Proiect_java_1/src/Package1/InternFactory.java new file mode 100644 index 000000000..aa7ae9a7d --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/InternFactory.java @@ -0,0 +1,28 @@ +package Package1; + +import java.util.Scanner; + +public class InternFactory implements HumanAbstractFactory +{ + public Observer createObserver() + { + System.out.println("Introduceti date despre un nou intern"); + Scanner input=new Scanner(System.in); + System.out.println("Nume;"); + String n=input.next(); + System.out.println("Facultate"); + String f=input.next(); + System.out.println("Varsta:"); + Integer v=input.nextInt(); + System.out.println("Experienta:(True/False) "); + boolean e=input.nextBoolean(); + System.out.println("Nume Supervisor:"); + String sup=input.next(); + return new Intern(n,f,v,e,sup,""); + } + + @Override + public ObservedSubject createObservedSubject() { + return null; + } +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/ObservedSubject.java b/clean_code_projects/Proiect_java_1/src/Package1/ObservedSubject.java new file mode 100644 index 000000000..1d85607ff --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/ObservedSubject.java @@ -0,0 +1,7 @@ +package Package1; + +public interface ObservedSubject { + void register(Observer obj); + void unregister(Observer obj); + void notify(String message); +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/Observer.java b/clean_code_projects/Proiect_java_1/src/Package1/Observer.java new file mode 100644 index 000000000..c9d68ba28 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/Observer.java @@ -0,0 +1,7 @@ +package Package1; + +public interface Observer { + void update(String message); + + public String getFeedback(); +} diff --git a/clean_code_projects/Proiect_java_1/src/Package1/Supervisor.java b/clean_code_projects/Proiect_java_1/src/Package1/Supervisor.java new file mode 100644 index 000000000..e59a9b488 --- /dev/null +++ b/clean_code_projects/Proiect_java_1/src/Package1/Supervisor.java @@ -0,0 +1,50 @@ +package Package1; + +import java.util.Arrays; + +public class Supervisor implements ObservedSubject +{ + private Observer[] observers=new Observer[0]; + + private String nume; + private String departament; + private Integer varsta; + + public Supervisor(String n,String d,Integer v) + { + nume=n; + departament=d; + varsta=v; + } + public Supervisor() + { + this("","",0); + } + + public void register(Observer obs) + { + this.observers= Arrays.copyOf(observers,observers.length+1); + observers[this.observers.length-1]=obs; + } + public void unregister(Observer obs) + { + int removedIndex=-1; + for(int i=0;i< observers.length;i++) + { + if(observers[i].equals(obs)) + { + removedIndex = i; + break; + } + } + System.arraycopy(observers,removedIndex+1,observers,removedIndex,observers.length-removedIndex-1); + } + + public void notify(String message) + { + for(int i=0;i= 0 && yCoordinate >= 0 && yCoordinate <=7) + return true; + else + return false; + } + public Pawn getPiece(int x,int y) + { + return pieces[x][y]; } } diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java index e589abeb7..bcb5ddb1b 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java @@ -43,8 +43,25 @@ private void setPieceColor(PieceColor value) { pieceColor = value; } - public void Move(MovementType movementType, int newX, int newY) { - throw new UnsupportedOperationException("Need to implement Pawn.Move()"); + public void Move(MovementType movementType, int newX, int newY) + { + if(movementType.equals(movementType.MOVE)) + { + if(pieceColor.equals(PieceColor.WHITE)) + { + if(this.getChesssBoard().getPiece(xCoordinate+1,yCoordinate)==null && newX==xCoordinate+1 && newY==yCoordinate) + { + xCoordinate=xCoordinate+1; + } + } + if(pieceColor.equals(PieceColor.BLACK)&& newX==xCoordinate-1 && newY==yCoordinate) + { + if(this.getChesssBoard().getPiece(xCoordinate-1,yCoordinate)==null) + { + xCoordinate=xCoordinate-1; + } + } + } } @Override diff --git a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java index 5b8ca4079..681e666cd 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java +++ b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java @@ -39,7 +39,7 @@ public void testIsLegalBoardPosition_True_X_equals_5_Y_equals_5() { @Test public void testIsLegalBoardPosition_False_X_equals_11_Y_equals_5() { boolean isValidPosition = testSubject.IsLegalBoardPosition(11, 5); - assertTrue(isValidPosition); + assertFalse(isValidPosition); } @Test diff --git a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java index beee03f37..6c24da37a 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java +++ b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java @@ -48,9 +48,9 @@ public void testPawn_Move_IllegalCoordinates_Left_DoesNotMove() { @Test public void testPawn_Move_LegalCoordinates_Forward_UpdatesCoordinates() { chessBoard.Add(testSubject, 6, 3, PieceColor.BLACK); - testSubject.Move(MovementType.MOVE, 6, 2); - assertEquals(6, testSubject.getXCoordinate()); - assertEquals(2, testSubject.getYCoordinate()); + testSubject.Move(MovementType.MOVE, 5, 3); + assertEquals(5, testSubject.getXCoordinate()); + assertEquals(3, testSubject.getYCoordinate()); } } \ No newline at end of file