diff --git a/_1_basics/src/main/java/code/_3_in_class/HelloWorld.java b/_1_basics/src/main/java/code/_3_in_class/HelloWorld.java deleted file mode 100644 index ce7a7ffe1..000000000 --- a/_1_basics/src/main/java/code/_3_in_class/HelloWorld.java +++ /dev/null @@ -1,8 +0,0 @@ -package code._3_in_class; - -public class HelloWorld { - - public static void main(String[] args) { - System.out.println("hello world 2"); - } -} diff --git a/_1_basics/src/main/java/code/_3_in_class/Main.java b/_1_basics/src/main/java/code/_3_in_class/Main.java index 3b87b4563..245c00ad4 100644 --- a/_1_basics/src/main/java/code/_3_in_class/Main.java +++ b/_1_basics/src/main/java/code/_3_in_class/Main.java @@ -3,6 +3,27 @@ public class Main { public static void main(String[] args) { - //TODO put your code changes in here + int[] ar = new int[]{1, 2, 3}; + int[] v1 = ar; + int[] v2 = ar; + + ar[0]=10; + v1[0]=100; + v2[0]=1000; + displayVector("arr",ar); + displayVector("v1",v1); + displayVector("v2",v2); + + + + } + + private static void displayVector(String name, int []arr){ + System.out.print(name+"="); + for (int i = 0; i < arr.length; i++) { + System.out.print(arr[i] + " "); + } + System.out.println(); + } + } -} \ No newline at end of file diff --git a/_1_basics/src/main/java/code/_3_in_class/Salutare.java b/_1_basics/src/main/java/code/_3_in_class/Salutare.java new file mode 100644 index 000000000..8534e7618 --- /dev/null +++ b/_1_basics/src/main/java/code/_3_in_class/Salutare.java @@ -0,0 +1,12 @@ +package code._3_in_class; + +public class Salutare { + + + public static void main (String[] args) { + + System.out.println("Salutare"); + } +} + + diff --git a/_2_oo/src/main/java/code/_3_in_class/Boxer.java b/_2_oo/src/main/java/code/_3_in_class/Boxer.java new file mode 100644 index 000000000..be6de816d --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/Boxer.java @@ -0,0 +1,44 @@ +package code._3_in_class; + +import java.util.Random; + +public class Boxer { + + + + String nume; + int health=100; + int damagePerHit=10; + + public Boxer(String nume,int health,int damagePerHit) { + this.nume=nume; + this.health = health; + this.damagePerHit=damagePerHit; + } + + public Boxer(String nume) { + this.nume = nume; + } + + + + void fight(Boxer opponent){ + int defenceValue=this.damagePerHit*this.defence()/100; + opponent.health-=this.damagePerHit-defenceValue; + System.out.println(this.nume +" il ataca pe "+opponent.nume+" - new health "+opponent.nume +" = " +opponent.health); + + + } + + int defence(){ + Random random =new Random(); + + int defencePercentage=random.nextInt(101); + + return defencePercentage; + + + } + + +} diff --git a/_2_oo/src/main/java/code/_3_in_class/Main.java b/_2_oo/src/main/java/code/_3_in_class/Main.java index 3b87b4563..0a7fb1578 100644 --- a/_2_oo/src/main/java/code/_3_in_class/Main.java +++ b/_2_oo/src/main/java/code/_3_in_class/Main.java @@ -1,8 +1,37 @@ package code._3_in_class; +import java.util.Random; + public class Main { public static void main(String[] args) { //TODO put your code changes in here + Boxer gheorghe=new Boxer("Gheorghe",100,10); + Boxer mircea=new Boxer("Mircea"); + + + Random random =new Random(); + + startBoxingMatch(gheorghe, mircea, random); + anuntareCastigator(gheorghe,mircea); + + } + + private static void anuntareCastigator(Boxer gheorghe,Boxer mircea) { + if (gheorghe.health<=0){ + System.out.println(mircea.nume + " a castigat meciul." ); + } + else {System.out.println(gheorghe.nume+" a castigat meciul.");} + } + + private static void startBoxingMatch(Boxer gheorghe, Boxer mircea, Random random) { + while (gheorghe.health>0 && mircea.health>0){ + int zeroOrOne= random.nextInt(2); + if(zeroOrOne==0){ + gheorghe.fight(mircea);} + else{ + mircea.fight(gheorghe); + } + } } } \ No newline at end of file diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java index 8a9fccb7b..49cc56223 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java @@ -1,8 +1,44 @@ package clean.code.design_patterns.requirements; + public class Main { public static void main(String[] args) { - //TODO implement your design patterns in this package + + ShoppingList shoppingList=new ShoppingListBuilder() + .addProduct("oua",1.09,5) + .addProduct("lapte",10.99,2) + .addProduct("iaurt",4.59,6) + .addProduct("mere",6.99,20) + .addProduct("pere",8.59,6) + .addProduct("periuta de dinti",8.99,2) + .build(); + + System.out.println("Lista de cumparaturi initiala:"); + viewShoppingList(shoppingList); + + //remove products from list by name + shoppingList.removeProduct("lapte"); + shoppingList.removeProduct("pere"); + System.out.println(); + + + System.out.println("Lista de cumparaturi actualizata:"); + viewShoppingList(shoppingList); + + } + + + public static void viewShoppingList(ShoppingList shoppingList){ + MyIterator it=shoppingList.iterator(); + while (it.hasNext()){ + Product p=it.next(); + System.out.println("Produs: "+p.getName()+", Cantitate: "+p.getQuantity()+", Pret: "+p.getPrice()+" lei."); + } + + + } + + } diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/MyIterator.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/MyIterator.java new file mode 100644 index 000000000..e39c2ab7c --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/MyIterator.java @@ -0,0 +1,9 @@ +package clean.code.design_patterns.requirements; + +public interface MyIterator { + + boolean hasNext(); + + Product next(); + +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/MyIteratorImplementation.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/MyIteratorImplementation.java new file mode 100644 index 000000000..4d791c51b --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/MyIteratorImplementation.java @@ -0,0 +1,22 @@ +package clean.code.design_patterns.requirements; + +import java.util.List; + +public class MyIteratorImplementation implements MyIterator { + private Listlist; + private int productIndex; + + public MyIteratorImplementation(Listlist){ + this.list=list; + } + + @Override + public boolean hasNext() { + return productIndex list; + + public ShoppingList() { + list = new ArrayList<>(); + } + + public void addProduct(Product p) { + this.list.add(p); + } + + public void removeProduct(String name) { + Iteratorit=list.iterator(); + while (it.hasNext()){ + Product p=it.next(); + if(p.getName().equals(name)){ + it.remove(); + } + } + } + + @Override + public MyIterator iterator() { + return new MyIteratorImplementation(this.list); + } + + + +} \ No newline at end of file diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/ShoppingListBuilder.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/ShoppingListBuilder.java new file mode 100644 index 000000000..2278a0507 --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/ShoppingListBuilder.java @@ -0,0 +1,16 @@ +package clean.code.design_patterns.requirements; + +public class ShoppingListBuilder { + + private ShoppingList shoppingList = new ShoppingList(); + + public ShoppingListBuilder addProduct(String name, double price,float quantity) { + Product product = new Product(name, price,quantity); + shoppingList.addProduct(product); + return this; + } + + public ShoppingList build() { + return shoppingList; + } +}