diff --git a/_1_basics/src/main/java/code/_3_in_class/Salut.java b/_1_basics/src/main/java/code/_3_in_class/Salut.java new file mode 100644 index 000000000..f8da85b32 --- /dev/null +++ b/_1_basics/src/main/java/code/_3_in_class/Salut.java @@ -0,0 +1,7 @@ +package code._3_in_class; + +public class Salut { + public static void main(String[] args) { + System.out.println("Saluuut"); + } +} 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..164d219db --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/Boxer.java @@ -0,0 +1,34 @@ +package code._3_in_class; +import java.util.Random; +public class Boxer { + /* + State: name, health, damagePerAttack; + Behaviour: attack, defend; + */ + + String nume; + int health = 100; + int damagePerAttack =10; + public Boxer( String nume, int health, int damagePerAttack) + { + this.nume = nume; + this.health = health; + this.damagePerAttack = damagePerAttack; + } + public Boxer (String nume) + { + this.nume = nume; + } + void attack(Boxer opponent){ + int defendValue = (this.damagePerAttack * this.defend())/100; + opponent.health= opponent.health - (this.damagePerAttack-defendValue); + System.out.println("defendValue: "+ defendValue); + System.out.println("newHealth: " + opponent.health); + } + int defend() { + Random random = new Random(); + int defendPercentage= random.nextInt(101); + return defendPercentage; + } + +} diff --git a/_2_oo/src/main/java/code/_3_in_class/CorelatieNumarString.java b/_2_oo/src/main/java/code/_3_in_class/CorelatieNumarString.java new file mode 100644 index 000000000..e2f551d9e --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/CorelatieNumarString.java @@ -0,0 +1,11 @@ +package code._3_in_class; + +public class CorelatieNumarString { + int nr; + String word; + CorelatieNumarString(int nr, String word) + { this.nr= nr; + this.word=word; + + } +} diff --git a/_2_oo/src/main/java/code/_3_in_class/FizzBuzzChallenge.java b/_2_oo/src/main/java/code/_3_in_class/FizzBuzzChallenge.java new file mode 100644 index 000000000..51aa72de7 --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/FizzBuzzChallenge.java @@ -0,0 +1,48 @@ +package code._3_in_class; + +public class FizzBuzzChallenge { + public static void main(String[] args) + { + // fizzBuzzCuIf(); + fizzBuzzCuObiecte(); + } + + private static void fizzBuzzCuObiecte() { + + CorelatieNumarString[] corelatii ={ + new CorelatieNumarString(3,"Fizz"), + new CorelatieNumarString(5,"Buzz"), + new CorelatieNumarString(7,"Rizz"), + new CorelatieNumarString(11, "Jazz") + }; + for(int i=1;i<=100;i++) { + boolean nrEsteDivizibil = false; + String textNrDiv= ""; + for (CorelatieNumarString corelatie : corelatii) { + if (i % corelatie.nr == 0) { + nrEsteDivizibil = true; + textNrDiv += corelatie.word; + } + + } + if(nrEsteDivizibil==true ) + System.out.println(textNrDiv); + else System.out.println(i); + } + } + + private static void fizzBuzzCuIf() { + for(int i=1;i<=100;i++) + { + if(i%5 == 0 && i%3 == 0) + System.out.println("FizzBuzz"); + else if(i%3 == 0) + System.out.println("Fizz"); + else if (i % 5 == 0) + System.out.println("Buzz"); + else + System.out.println(i); + + } + } +} diff --git a/_2_oo/src/main/java/code/_3_in_class/Interface01.java b/_2_oo/src/main/java/code/_3_in_class/Interface01.java new file mode 100644 index 000000000..e2f872c5c --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/Interface01.java @@ -0,0 +1,12 @@ +package code._3_in_class; + +public interface Interface01 { + default void m() + { + System.out.println("hello world from m()"); + } + default void m01() + { + System.out.println("hello world from m01()"); + } +} diff --git a/_2_oo/src/main/java/code/_3_in_class/Interface02.java b/_2_oo/src/main/java/code/_3_in_class/Interface02.java new file mode 100644 index 000000000..93ac36f49 --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/Interface02.java @@ -0,0 +1,12 @@ +package code._3_in_class; + +public interface Interface02 { + default void m() + { + System.out.println("hello world from m()"); + } + default void m02() + { + System.out.println("hello world from m02()"); + } +} 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..9ce4a68c7 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,36 @@ 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 ion = new Boxer("ion",100,10 ); + Boxer vasile = new Boxer("vasile"); + + //start meci + startBoxingMatch(ion, vasile); + announceVictory(ion); + + } + + private static void announceVictory(Boxer ion) { + if(ion.health<=0) { + System.out.println(" Ion a castigat meciul de box."); + }else { + System.out.println(" Vasile a castigat meciul de box."); + } + } + + private static void startBoxingMatch(Boxer ion, Boxer vasile) { + Random random = new Random(); + + while(ion.health >0 && vasile.health>0 ) + { int zeroOrOne = random.nextInt( 2); + if(zeroOrOne == 0) + ion.attack(vasile); + else + vasile.attack(ion); + + } } } \ No newline at end of file diff --git a/_2_oo/src/main/java/code/_3_in_class/RandomClass.java b/_2_oo/src/main/java/code/_3_in_class/RandomClass.java new file mode 100644 index 000000000..c1161cc3c --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/RandomClass.java @@ -0,0 +1,12 @@ +package code._3_in_class; + +public class RandomClass implements Interface01, Interface02 +{ + public static void main(String[] args){ + RandomClass c= new RandomClass(); + c.m(); + } + public void m(){ + Interface02.super.m(); + } +} diff --git a/_2_oo/src/main/java/code/_3_in_class/car/Main.java b/_2_oo/src/main/java/code/_3_in_class/car/Main.java new file mode 100644 index 000000000..119b6526f --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/car/Main.java @@ -0,0 +1,52 @@ +package code._3_in_class.car; + +public class Main { + static class Human + { + Car car; + public Human(Car car) + { + this.car= car; + } + void increaseSpeed(){ + car.increaseSpeed(); + } + + } + static interface Car{ + void increaseSpeed(); + } + static class GasCar implements Car{ + Engine engine= new GasEngine(); + public void increaseSpeed(){ + engine.increaseSpeed(); + } + } + static class ElectricalCar implements Car{ + Engine engine= new ElectricalEngine(); + public void increaseSpeed(){ + engine.increaseSpeed(); + } + } + static interface Engine{ + void increaseSpeed(); + } + static class ElectricalEngine implements Engine{ + public void increaseSpeed() + { + System.out.println("increase speed implementation from ElectricalEngine"); + } + } + static class GasEngine implements Engine{ + public void increaseSpeed() + { + System.out.println("increase speed implementation from GasEngine"); + } + } + public static void main(String[] args){ + Human human01 = new Human(new ElectricalCar()); + Human human02 = new Human(new GasCar()); + human01.increaseSpeed(); + human02.increaseSpeed(); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/DessertOrder.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/DessertOrder.java new file mode 100644 index 000000000..4887f9ff1 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/DessertOrder.java @@ -0,0 +1,11 @@ +package code._4_student_effort.DesignPatterns; + +public class DessertOrder implements Order { + public DessertOrder() + { + + } + public void create() { + System.out.println("Preparing dessert order"); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/DrinkOrder.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/DrinkOrder.java new file mode 100644 index 000000000..c306d6e87 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/DrinkOrder.java @@ -0,0 +1,12 @@ +package code._4_student_effort.DesignPatterns; + +public class DrinkOrder implements Order { + + public DrinkOrder() + { + + } + public void create() { + System.out.println("Preparing drink order"); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/FoodOrder.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/FoodOrder.java new file mode 100644 index 000000000..910490fad --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/FoodOrder.java @@ -0,0 +1,11 @@ +package code._4_student_effort.DesignPatterns; + +public class FoodOrder implements Order { + public FoodOrder() + { + + } + public void create() { + System.out.println("Preparing food order"); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Kitchen.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Kitchen.java new file mode 100644 index 000000000..1f3b785a6 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Kitchen.java @@ -0,0 +1,15 @@ +package code._4_student_effort.DesignPatterns; + +public class Kitchen { + + Staff staff = new Staff(); + + public Kitchen() + { + + } + public void notify(Order order) + { + this.staff.update(); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Main.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Main.java new file mode 100644 index 000000000..6c77818b5 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Main.java @@ -0,0 +1,26 @@ +package code._4_student_effort.DesignPatterns; +import code._4_student_effort.DesignPatterns.Order; +import code._4_student_effort.DesignPatterns.OrderFactory; +import code._4_student_effort.DesignPatterns.Person; + +import java.util.ArrayList; +import java.util.List; + +public class Main { + + public Main() { + } + + public static void main(String[] args) { + OrderFactory factory = new OrderFactory(); + Order foodOrder = factory.createOrder("food"); + Order drinkOrder = factory.createOrder("drink"); + Order dessertOrder = factory.createOrder("dessert"); + List orders = new ArrayList(); + orders.add(foodOrder); + orders.add(drinkOrder); + orders.add(dessertOrder); + Person person = new Person(orders); + person.makeAnOrder(); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Order.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Order.java new file mode 100644 index 000000000..bc1816dfc --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Order.java @@ -0,0 +1,5 @@ +package code._4_student_effort.DesignPatterns; + +public interface Order { + void create(); +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/OrderFactory.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/OrderFactory.java new file mode 100644 index 000000000..464477628 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/OrderFactory.java @@ -0,0 +1,21 @@ +package code._4_student_effort.DesignPatterns; + +import code._4_student_effort.DesignPatterns.DessertOrder; +import code._4_student_effort.DesignPatterns.DrinkOrder; +import code._4_student_effort.DesignPatterns.FoodOrder; +import code._4_student_effort.DesignPatterns.Order; + +public class OrderFactory { + public OrderFactory() { + } + + public Order createOrder(String type) { + if (type.equalsIgnoreCase("food")) { + return new FoodOrder(); + } else if (type.equalsIgnoreCase("drink")) { + return new DrinkOrder(); + } else { + return type.equalsIgnoreCase("dessert") ? new DessertOrder() : null; + } + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Person.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Person.java new file mode 100644 index 000000000..c3cf438da --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Person.java @@ -0,0 +1,26 @@ +package code._4_student_effort.DesignPatterns; +import code._4_student_effort.DesignPatterns.Kitchen; +import code._4_student_effort.DesignPatterns.Order; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +public class Person { + public String Name; + public Kitchen kitchen = new Kitchen(); + public List orderList = new ArrayList(); + + public Person(List orders) { + this.orderList = orders; + } + + public void makeAnOrder() { + Iterator var1 = this.orderList.iterator(); + + while(var1.hasNext()) { + Order order = (Order)var1.next(); + this.kitchen.notify(order); + } + + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/PrepareAnOrder.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/PrepareAnOrder.java new file mode 100644 index 000000000..3cda0dee0 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/PrepareAnOrder.java @@ -0,0 +1,5 @@ +package code._4_student_effort.DesignPatterns; + +public interface PrepareAnOrder { + void update(); +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Staff.java b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Staff.java new file mode 100644 index 000000000..d8da3a4ed --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/DesignPatterns/Staff.java @@ -0,0 +1,13 @@ +package code._4_student_effort.DesignPatterns; + +import code._4_student_effort.DesignPatterns.PrepareAnOrder; + +public class Staff implements PrepareAnOrder { + public Staff() + { + + } + public void update() { + System.out.println("Coamanda este in preparare"); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/Main.java b/_3_design_patterns/src/main/java/code/_4_student_effort/Main.java deleted file mode 100644 index 95bb1182c..000000000 --- a/_3_design_patterns/src/main/java/code/_4_student_effort/Main.java +++ /dev/null @@ -1,8 +0,0 @@ -package code._4_student_effort; - -public class Main { - - public static void main(String[] args) { - //TODO put your code changes in here - } -} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Main.java b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Main.java new file mode 100644 index 000000000..407d5088c --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Main.java @@ -0,0 +1,20 @@ +package code._4_student_effort.Maze; + +public class Main { + + public static void main(String[] args) { + // Get the maze instance + Maze maze = Maze.getInstance(); + // Navigate through the maze + maze.navigate(); + // Create the obstacle factory + ObstacleFactory obstacleFactory = new ObstacleFactory(); + // Create and avoid the first obstacle + Obstacle pit = obstacleFactory.createObstacle("PIT"); + pit.avoid(); + // Create and avoid the second obstacle + Obstacle wall = obstacleFactory.createObstacle("WALL"); + wall.avoid(); + } +} + diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Maze.java b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Maze.java new file mode 100644 index 000000000..3a966939e --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Maze.java @@ -0,0 +1,20 @@ +package code._4_student_effort.Maze; + +public class Maze { + // Private static instance of the maze + private static Maze instance = null; + // Private constructor to prevent creating new instances + private Maze() { + } + // Static method to get the instance of the maze + public static Maze getInstance() { + if (instance == null) { + instance = new Maze(); + } + return instance; + } + // Method to navigate through the maze + public void navigate() { + System.out.println("Navigating through the maze..."); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Obstacle.java b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Obstacle.java new file mode 100644 index 000000000..d46acb8cd --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Obstacle.java @@ -0,0 +1,5 @@ +package code._4_student_effort.Maze; + +public interface Obstacle { + public void avoid(); +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/ObstacleFactory.java b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/ObstacleFactory.java new file mode 100644 index 000000000..1148f69b3 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/ObstacleFactory.java @@ -0,0 +1,15 @@ +package code._4_student_effort.Maze; + +public class ObstacleFactory { + public Obstacle createObstacle(String obstacleType) { + if (obstacleType == null) { + return null; + } + if (obstacleType.equalsIgnoreCase("PIT")) { + return new Pit(); + } else if (obstacleType.equalsIgnoreCase("WALL")) { + return new Wall(); + } + return null; + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Pit.java b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Pit.java new file mode 100644 index 000000000..5d00ac659 --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Pit.java @@ -0,0 +1,10 @@ +package code._4_student_effort.Maze; + +import code._4_student_effort.Maze.Obstacle; + +public class Pit implements Obstacle { + @Override + public void avoid() { + System.out.println("Jumping over the pit!"); + } +} diff --git a/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Wall.java b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Wall.java new file mode 100644 index 000000000..a49b6d52e --- /dev/null +++ b/_3_design_patterns/src/main/java/code/_4_student_effort/Maze/Wall.java @@ -0,0 +1,10 @@ +package code._4_student_effort.Maze; + +import code._4_student_effort.Maze.Obstacle; + +public class Wall implements Obstacle { + @Override + public void avoid() { + System.out.println("Climbing over the wall!"); + } +}