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: 8 additions & 0 deletions _1_basics/src/main/java/code/_3_in_class/Salut.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package code._3_in_class;

public class Salut {

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

public class Boomer implements IStudent{
int varsta;
String scoala;

public Boomer(String name, int age) {
this.scoala = name;
this.varsta = age;
}
@Override
public void getScoala() {
System.out.println(scoala);
}

@Override
public void afisareGeneratie() {
System.out.println("Am varsta de " + varsta + " ani, sunt din generati Boomer si sunt la scoala " + scoala);
}
}
21 changes: 21 additions & 0 deletions _3_design_patterns/src/main/java/code/_3_in_class/GenZ.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package code._3_in_class;

public class GenZ implements IStudent{

int varsta;
String scoala;

public GenZ(String name, int age) {
this.scoala = name;
this.varsta = age;
}
@Override
public void getScoala() {
System.out.println(scoala);
}

@Override
public void afisareGeneratie() {
System.out.println("Am varsta de " + varsta + " ani si sunt din generati GenZ!");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package code._3_in_class;

public interface IStudent {
void getScoala();
void afisareGeneratie();
}
28 changes: 27 additions & 1 deletion _3_design_patterns/src/main/java/code/_3_in_class/Main.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,34 @@
package code._3_in_class;
import java.util.Scanner;

//Trebuia in student effort

public class Main {

public static void main(String[] args) {
//TODO put your code changes in here
//user input
Scanner scanner = new Scanner(System.in);

System.out.println("Pentru iesirea din program tastati x.");
while(true){
System.out.print("Introduceți o varsta: ");
int userInput = scanner.nextInt();

scanner.nextLine();

System.out.print("Introduceți scoala: ");
String userString = scanner.nextLine();
if(userString.equals("x")) break;

//System.out.println("Input-ul utilizatorului este: " + userInput);
if (userInput < 30 && userInput > 0){
GenZ genz = new GenZ(userString, userInput);
genz.afisareGeneratie();
}
else if (userInput >= 30 && userInput <=60){
Boomer boomer = new Boomer(userString, userInput);
boomer.afisareGeneratie();
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package clean.code.design_patterns.requirements;

//Interfața Iterator definește metodele hasNext() și next()
// pentru verificarea existenței unui obiect urmator(de tipul jucatorFotbal)
// și pentru a obține elementul următor din iterație.
public interface Iterator<jucatorFotbal>{
boolean hasNext();
jucatorFotbal next();
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,37 @@ public class Main {

public static void main(String[] args) {
//TODO implement your design patterns in this package
jucatorFotbal j1 = new jucatorFotbal("Marginean Razvan", "Machester City", 20, 20, 7, 31, 2, 1);
jucatorFotbal j2 = new jucatorFotbal("Erling Halland", "Machester City", 22, 35, 7, 38, 2, 0);
jucatorFotbal j3 = new jucatorFotbal("Cristiano Ronaldo", "Real Madrid", 30, 24, 2, 30, 1, 1);
jucatorFotbal j4 = new jucatorFotbal("Banel Nicolita", "Steaua Bucuresti", 28, 12, 20, 40, 2, 3);
jucatorFotbal j5 = new jucatorFotbal("Adrian Mutu", "Fiorentina", 25, 28, 5, 23, 2, 2);
databaseJucatori db = databaseJucatori.getInstance();
//System.out.println(j1.toString());
//j1.toString();
db.adaugaJucator(j1);
db.adaugaJucator(j2);
db.adaugaJucator(j3);
db.adaugaJucator(j4);
db.adaugaJucator(j5);
System.out.println("Numarul de jucatori din database este " + db.getSize() + ".");
//db.toString();


//Iterator<jucatorFotbal> iterator = (Iterator<jucatorFotbal>) db.iterator();

//while (db.iterator().hasNext()) {
//String item = iterator.next();
// jucatorFotbal item = db.iterator().next();;
// System.out.println(item);
// }
//databaseJucatori.databaseIterator iterator = db.Createiterator();
//dbIterator iterator = new dbIterator(db.getAllObjects());
//while (iterator.hasNext()) {
// jucatorFotbal item = iterator.next();
// System.out.println(item.ratingJucator());
//}
UI console = new UI();
console.runMenu();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package clean.code.design_patterns.requirements;

import java.util.Collections;
import java.util.Scanner;

public class UI {
//private static UI instance = new UI();
private databaseJucatori db = databaseJucatori.getInstance();
private dbIterator iterator;

//make the constructor private so that this class cannot be
//instantiated
public UI(){}

public void menu(){
System.out.println("1.Afisare jucatori");
System.out.println("2.Afisare castigator balon de aur sezon 2022-2023");
System.out.println("3.Exit");
}
public void runMenu(){
Scanner scanner = new Scanner(System.in);
while(true){
menu();
System.out.print("Alegeti optiune: ");
int userInput = scanner.nextInt();
scanner.nextLine();
if (userInput == 3)
{
break;
}

else if (userInput == 1)
{ iterator = new dbIterator(db.getAllObjects());
while (iterator.hasNext())
{
jucatorFotbal item = iterator.next();
System.out.println(item);
}
} else if (userInput == 2) {
iterator = new dbIterator(db.getAllObjects());
float rating = 0f;
boolean findCastigarot = false;
while (iterator.hasNext())
{
jucatorFotbal item = iterator.next();
if(item.ratingJucator() >= rating) rating = item.ratingJucator();
//System.out.println(rating);
}
//System.out.println(rating);
iterator = new dbIterator(db.getAllObjects());
while (!findCastigarot && iterator.hasNext()){
jucatorFotbal item = iterator.next();
if(rating == item.ratingJucator()) {
System.out.println(item.getNume() + "este castigatorul balonului de aur cu un rating de:" +item.ratingJucator());
findCastigarot = true;
}
}
}

}
}

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

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

//Folosim Singleton Pattern pentru a avea o singura baza de date care sa stocheze datele jucatorilor
public class databaseJucatori<jucatoriFotbal> {

private static databaseJucatori instance = new databaseJucatori();//cream un obiect de tipul databaseJucator
private List<jucatorFotbal> listJucatori;

//facem constructorul privat pentru ca aceasta clasa sa nu mai poata fi initializata
//astfel vom avea doar o instanta a clasei databaseJucatori
private databaseJucatori() {
listJucatori = new ArrayList<jucatorFotbal>();
}
//Get the only object available
public static databaseJucatori getInstance(){
System.out.println("Database-ul a fost creat!");
return instance;
}

public void adaugaJucator(jucatorFotbal j) {
listJucatori.add(j);
}

public void removeObject(jucatorFotbal j) {
listJucatori.remove(j);
}

public List<jucatorFotbal> getAllObjects() {
return listJucatori;
}

public int getSize() {
return listJucatori.size();
}

//Iterator design pattern

// private class databaseIterator implements Iterator<jucatorFotbal> {
// private int currentIndex = 0;
//
// public boolean hasNext() {
// return currentIndex < getSize();
// }
//
// public jucatorFotbal next() {
// if (hasNext()) {
// jucatorFotbal item = listJucatori.get(currentIndex);
// currentIndex++;
// return item;
// }
// throw new NoSuchElementException();
// }
// }

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

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

public class dbIterator implements Iterator<jucatorFotbal> {
private List<jucatorFotbal> list;
private int currentIndex;

public dbIterator(List<jucatorFotbal> listJucatori) {
this.list = listJucatori;
this.currentIndex = 0;
}
public boolean hasNext() { return this.currentIndex < list.size(); }

public jucatorFotbal next() {
jucatorFotbal jucator = this.list.get(currentIndex);
this.currentIndex += 1;
return jucator;
}
}
Loading