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
8 changes: 0 additions & 8 deletions _1_basics/src/main/java/code/_3_in_class/HelloWorld.java

This file was deleted.

25 changes: 23 additions & 2 deletions _1_basics/src/main/java/code/_3_in_class/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

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

public class Salutare {


public static void main (String[] args) {

System.out.println("Salutare");
}
}


44 changes: 44 additions & 0 deletions _2_oo/src/main/java/code/_3_in_class/Boxer.java
Original file line number Diff line number Diff line change
@@ -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;


}


}
29 changes: 29 additions & 0 deletions _2_oo/src/main/java/code/_3_in_class/Main.java
Original file line number Diff line number Diff line change
@@ -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);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -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.");
}


}


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

public interface MyIterator {

boolean hasNext();

Product next();

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

import java.util.List;

public class MyIteratorImplementation implements MyIterator {
private List<Product>list;
private int productIndex;

public MyIteratorImplementation(List<Product>list){
this.list=list;
}

@Override
public boolean hasNext() {
return productIndex<list.size();
}

@Override
public Product next() {
return list.get(productIndex++);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package clean.code.design_patterns.requirements;

public interface MyList {

void addProduct(Product p);

void removeProduct(String name);

MyIterator iterator();

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

public class Product {
private String productName;
private double price;
private float quantity;

public Product(String name, double price, float quantity) {
this.productName = name;
this.price=price;
this.quantity=quantity;
}
public String getName() {
return productName;
}

public double getPrice() {
return price;
}

public float getQuantity(){
return quantity;
}


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

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ShoppingList implements MyList {

private List<Product> list;

public ShoppingList() {
list = new ArrayList<>();
}

public void addProduct(Product p) {
this.list.add(p);
}

public void removeProduct(String name) {
Iterator<Product>it=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);
}



}
Original file line number Diff line number Diff line change
@@ -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;
}
}