diff --git a/_1_basics/src/main/java/code/_3_in_class/Ex1.java b/_1_basics/src/main/java/code/_3_in_class/Ex1.java new file mode 100644 index 000000000..488b7775e --- /dev/null +++ b/_1_basics/src/main/java/code/_3_in_class/Ex1.java @@ -0,0 +1,7 @@ +package code._3_in_class; + +public class Ex1 { + public static void main(String[] args) { + System.out.println("salut lume1"); + } +} diff --git a/_1_basics/src/main/java/code/_3_in_class/Ex2.java b/_1_basics/src/main/java/code/_3_in_class/Ex2.java new file mode 100644 index 000000000..a773f3fd9 --- /dev/null +++ b/_1_basics/src/main/java/code/_3_in_class/Ex2.java @@ -0,0 +1,7 @@ +package code._3_in_class; + +public class Ex2 { + public static void main(String[] args) { + System.out.println("salut lume2"); + } +} 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..3249871a8 --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/Boxer.java @@ -0,0 +1,24 @@ +package code._3_in_class; + +public class Boxer { + String nume; + int health = 100; + int dammagePerAttack =10; + + //constructor + public Boxer(String nume, int health, int dammagePerAttack) { + this.nume = nume; + this.health = health; + this.dammagePerAttack = dammagePerAttack; + } + + public Boxer(String nume) { + this.nume = nume; + } + + void attack(Boxer opponent) { + opponent.health = opponent.health - this.dammagePerAttack; + System.out.println(this.nume + "il ataca pe" + opponent.nume +"-new health is =" + opponent.health); + } + void defend(){} +} \ No newline at end of file diff --git a/_2_oo/src/main/java/code/_3_in_class/JohnCena.java b/_2_oo/src/main/java/code/_3_in_class/JohnCena.java new file mode 100644 index 000000000..39898cfea --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/JohnCena.java @@ -0,0 +1,13 @@ +package code._3_in_class; + +public class JohnCena extends Boxer { + public BruceLee (String nume, int health, int dammagePerAttack) { + this.nume = nume; + this.health = health; + this.dammagePerAttack = dammagePerAttack; + } + + public JohnCena (String nume) { + this.nume = nume; + } +} \ No newline at end of file diff --git a/_2_oo/src/main/java/code/_3_in_class/MainBoxer.java b/_2_oo/src/main/java/code/_3_in_class/MainBoxer.java new file mode 100644 index 000000000..ac1520405 --- /dev/null +++ b/_2_oo/src/main/java/code/_3_in_class/MainBoxer.java @@ -0,0 +1,37 @@ +package code._3_in_class; +import java.util.Random; + +public class MainBoxer { + + 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"); + + + startBoxingMatch(ion, vasile); + endingResults(ion); + } + + private static void endingResults(Boxer ion) { + if (ion.health <= 0) { + System.out.println("Vasile a castigat meciul"); + } else { + System.out.println("Ion a castigat meciul"); + } + } + + + + 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/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/Main.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/Main.java new file mode 100644 index 000000000..8d5639935 --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/Main.java @@ -0,0 +1,18 @@ +package clean.code.design_patterns.requirements.builder; +public class Main { + public static void main(String[] args) { + // Crearea unui obiect Salata utilizând SalataBuilder + Salata salata = new SalataBuilder() + .salata("Mix de salată verde") + .sos("Iaurt") + .branza(true) + .crutoane(true) + .build(); + + // Accesarea atributelor obiectului Salata + System.out.println("Salată: " + salata.getSalata()); + System.out.println("Sos: " + salata.getSos()); + System.out.println("Branză: " + salata.areBranza()); + System.out.println("Crutoane: " + salata.areCrutoane()); + } +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/Salata.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/Salata.java new file mode 100644 index 000000000..9d6ee8584 --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/Salata.java @@ -0,0 +1,31 @@ +package clean.code.design_patterns.requirements.builder; +//builder +public class Salata { + private String salata; // baza + private String sos; // sos + private boolean branza; // indicator pentru prezența brânzei + private boolean crutoane; // indicator pentru prezența crutoanelor + + Salata(String salata, String sos, boolean branza, boolean crutoane) { + this.salata = salata; + this.sos = sos; + this.branza = branza; + this.crutoane = crutoane; + } + + public String getSalata() { + return salata; + } + + public String getSos() { + return sos; + } + + public boolean areBranza() { + return branza; + } + + public boolean areCrutoane() { + return crutoane; + } +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/SalataBuilder.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/SalataBuilder.java new file mode 100644 index 000000000..79b33894f --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/builder/SalataBuilder.java @@ -0,0 +1,31 @@ +package clean.code.design_patterns.requirements.builder; +public class SalataBuilder { + private String salata; + private String sos; + private boolean branza; + private boolean crutoane; + + public SalataBuilder salata(String salata) { + this.salata = salata; + return this; + } + + public SalataBuilder sos(String sos) { + this.sos = sos; + return this; + } + + public SalataBuilder branza(boolean branza) { + this.branza = branza; + return this; + } + + public SalataBuilder crutoane(boolean crutoane) { + this.crutoane = crutoane; + return this; + } + + public Salata build() { + return new Salata(salata, sos, branza, crutoane); + } +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/AfisPublicitar.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/AfisPublicitar.java new file mode 100644 index 000000000..194ee19db --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/AfisPublicitar.java @@ -0,0 +1,27 @@ +package clean.code.design_patterns.requirements.prototype; +public class AfisPublicitar { + private String text; + private Logo logo; + + public AfisPublicitar(String text, Logo logo) { + this.text = text; + this.logo = logo; + } + + public void setText(String text) { + this.text = text; + } + + public String getText() { + return text; + } + + public Logo getLogo() { + return logo; + } + + public void setLogo(Logo logo) { + this.logo = logo; + } +} + diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/Logo.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/Logo.java new file mode 100644 index 000000000..323df1bdc --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/Logo.java @@ -0,0 +1,24 @@ +package clean.code.design_patterns.requirements.prototype; + +// Clasa Logo, care va fi clonată +public class Logo implements Cloneable { + private String imagine; + + public Logo(String imagine) { + this.imagine = imagine; + } + + public void setImagine(String imagine) { + this.imagine = imagine; + } + + public String getImagine() { + return imagine; + } + + @Override + public Logo clone() throws CloneNotSupportedException { + return (Logo) super.clone(); + } +} + diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/Main.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/Main.java new file mode 100644 index 000000000..3a2730fce --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/prototype/Main.java @@ -0,0 +1,29 @@ +package clean.code.design_patterns.requirements.prototype; + +public class Main { + public static void main(String[] args) { + // Initializarea unui obiect AfisPublicitar.java + Logo logo = new Logo("logo_original"); + AfisPublicitar afisOriginal = new AfisPublicitar("Acesta este un afiș publicitar", logo); + + try { + // Clonarea obiectului de tip Logo + Logo logoClonat = afisOriginal.getLogo().clone(); + logoClonat.setImagine("logo_clonat"); + + // Crearea unui nou afis publicitar cu logo-ul clonat + AfisPublicitar afisClonat = new AfisPublicitar("Acesta este un afiș publicitar clonat", logoClonat); + + // Afisarea informatiilor despre afisul original si cel clonat + System.out.println("Afiș publicitar original:"); + System.out.println("Text: " + afisOriginal.getText()); + System.out.println("Logo: " + afisOriginal.getLogo().getImagine()); + + System.out.println("\nAfiș publicitar clonat:"); + System.out.println("Text: " + afisClonat.getText()); + System.out.println("Logo: " + afisClonat.getLogo().getImagine()); + } catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + } +}