Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions _1_basics/src/main/java/code/_3_in_class/Boxer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package code._3_in_class;

public class Boxer {
String name;
int health = 100;
int damagePerAttack = 10;


public Boxer(String name, int health, int damage){
this.name = name;
this.health = health;
this.damagePerAttack = damage;
}
public Boxer(String name){
this.name = name;
}


}
7 changes: 7 additions & 0 deletions _1_basics/src/main/java/code/_3_in_class/ClasaBunaZiua.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package code._3_in_class;

public class ClasaBunaZiua {
public static void main(String[] args) {
System.out.println("Salutari!");
}
}
11 changes: 11 additions & 0 deletions _1_basics/src/main/java/code/_3_in_class/CorelatieNrString.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package code._3_in_class;

public class CorelatieNrString {
int nr;
String word;
CorelatieNrString(int nr, String word){
this.nr = nr;
this.word = word;
}

}
50 changes: 50 additions & 0 deletions _1_basics/src/main/java/code/_3_in_class/FizzBuzz.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package code._3_in_class;

public class FizzBuzz {
public static void main(String[] args) {

int nr;
// fizzBuzzCuIf();
fizzBuzzCuObiecte();
}

private static void fizzBuzzCuObiecte() {

CorelatieNrString[] corelatii = {
new CorelatieNrString(3, "Fizz"),
new CorelatieNrString(5, "Buzz"),
new CorelatieNrString(7, "Rizz"),
new CorelatieNrString(11, "Tizz")

};
for (int i = 1; i <= 100; i++) {
boolean nrEsteDivizibil = false;
String textPtNrDivizibil = "";
for (CorelatieNrString corelatie : corelatii) {
if (i % corelatie.nr == 0) {
textPtNrDivizibil = textPtNrDivizibil + corelatie.word;
nrEsteDivizibil = true;
}
}
if (nrEsteDivizibil == true) {
System.out.println(textPtNrDivizibil);
} else {
System.out.println(i);
}
}
}

private static void fizzBuzzCuIf() {
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 5 == 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);
}
}
}
}
18 changes: 18 additions & 0 deletions _1_basics/src/main/java/code/_3_in_class/Main.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
package code._3_in_class;

import java.util.Random;
import java.util.SortedMap;

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");

AnuntareWinner(ion, vasile);
}

private static void AnuntareWinner(Boxer a, Boxer b){
if(a.health <= 0){
System.out.println(b.name + "a castigat meciul");
}
else{
System.out.println(a.name + "a castigat meciul");
}
}


}
Original file line number Diff line number Diff line change
@@ -1,8 +1,35 @@
package clean.code.design_patterns.requirements;

public class Main {

// Main class
public class Main {
public static void main(String[] args) {
//TODO implement your design patterns in this package
// Factory Pattern
Vehicle car = VehicleFactory.createVehicle("car");
// car.start();
// car.stop();

Vehicle motorcycle = VehicleFactory.createVehicle("motorcycle");
// motorcycle.start();
// motorcycle.stop();

// State Pattern
TrafficLight trafficLight = new TrafficLight();
trafficLight.AddCarTraffic(car);
trafficLight.AddCarTraffic(motorcycle);

trafficLight.printState();

trafficLight.change();
trafficLight.printState();

trafficLight.RemoveCarTraffic(car);

trafficLight.change();
trafficLight.printState();

trafficLight.change();
trafficLight.printState();
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package clean.code.design_patterns.requirements;
import java.util.List;
import java.util.ArrayList;

// State Pattern
// Context class
class TrafficLight {
public List<Vehicle> vehicule = new ArrayList<>();
private TrafficLightState state;

public TrafficLight() {
state = new RedState();
}

public void AddCarTraffic(Vehicle new_vehicle){
vehicule.add(new_vehicle);
}

public void RemoveCarTraffic(Vehicle new_vehicle){
vehicule.remove(new_vehicle);
}

public void setState(TrafficLightState state) {
this.state = state;
}

public void change() {
state.change(this);
}

public void printState() {
state.printState();
}
}

// State interface
interface TrafficLightState {
void change(TrafficLight light);
void printState();
}

// Concrete States
class RedState implements TrafficLightState {
public void change(TrafficLight light) {
System.out.println("Changing light from red to green");
light.setState(new GreenState());

for (Vehicle vehicle : light.vehicule){
vehicle.start();
}
}

public void printState() {
System.out.println("Red Light");
}
}

class GreenState implements TrafficLightState {
public void change(TrafficLight light) {
System.out.println("Changing light from green to yellow");
light.setState(new YellowState());
}

public void printState() {
System.out.println("Green Light");
}
}

class YellowState implements TrafficLightState {
public void change(TrafficLight light) {
System.out.println("Changing light from yellow to red");
light.setState(new RedState());

for (Vehicle vehicle : light.vehicule){
vehicle.stop();
}
}

public void printState() {
System.out.println("Yellow Light");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package clean.code.design_patterns.requirements;

// Factory Pattern
// Product interface
interface Vehicle {
void start();
void stop();
}

// Concrete Products
class Car implements Vehicle {
public void start() {
System.out.println("Car started");
}

public void stop() {
System.out.println("Car stopped");
}
}

class Motorcycle implements Vehicle {
public void start() {
System.out.println("Motorcycle started");
}

public void stop() {
System.out.println("Motorcycle stopped");
}
}

// Factory class
class VehicleFactory {
public static Vehicle createVehicle(String type) {
if (type.equalsIgnoreCase("car")) {
return new Car();
} else if (type.equalsIgnoreCase("motorcycle")) {
return new Motorcycle();
} else {
throw new IllegalArgumentException("Invalid vehicle type");
}
}
}