tpdev + evalMadeleine

This commit is contained in:
2023-12-01 14:24:23 +01:00
parent 4041397b09
commit 24cc7baddc
29 changed files with 1951 additions and 84 deletions

View File

@@ -0,0 +1,11 @@
enum Denomination {
UN,
DEUX,
CINQ,
DIX,
VINGT,
CINQUANTE,
CENT,
DEUX_CENT,
CINQ_CENT
}

View File

@@ -0,0 +1,34 @@
public class Individu{
private String nom;
private Liasse fortune;
public Individu(String nom){
this.nom = nom;
this.fortune = new Liasse();
}
public void add(Denomination billet){
this.fortune.addBillet(billet);
}
public void payer(int valeur, Individu vendeur){
// pas le temps
}
public String printFortune(){
String resultat = "";
for (Denomination valeur : Denomination.values()){
resultat += ("billet de "+this.fortune.getValeurBilletMonoliasse(valeur)+" : "+this.fortune.getNbBilletMonoliasse(valeur)+"\n");
}
resultat += ("Total : "+this.fortune.getFortune());
return resultat;
}
public int getFortune(){
return this.fortune.getFortune();
}
public String getNom(){
return this.nom;
}
}

View File

@@ -0,0 +1,51 @@
public class Liasse{
private Monoliasse[] listeMonoliasse;
// il faut convertir les enum en int pour un code fonctionnel
public Liasse(){
// double boucle a corriger
int i=0;
for (Denomination valeur : Denomination.values()){
i++;
}
this.listeMonoliasse = new Monoliasse[i];
i=0;
for (Denomination valeur : Denomination.values()){
this.listeMonoliasse[i] = new Monoliasse(valeur, 0);
}
}
public void addBillet(Denomination valeur){
this.listeMonoliasse[valeur].addBillet();
}
public int getValeurBilletMonoliasse(Denomination valeur){
return this.listeMonoliasse[valeur].getValeurBillet();
}
public int getNbBilletMonoliasse(Denomination valeur){
return this.listeMonoliasse[valeur].getCombien();
}
public int getNbBillet(){
int nbBillet=0;
for (Monoliasse monoliasse : this.listeMonoliasse){
nbBillet += monoliasse.getCombien();
}
return nbBillet;
}
public int getFortune(){
int fortune=0;
for (Monoliasse monoliasse : this.listeMonoliasse){
fortune += monoliasse.getValeurMonoliasse();
}
return fortune;
}
public int getFortuneMonoliasse(Denomination valeur){
return this.listeMonoliasse[valeur].getValeurMonoliasse();
}
}

View File

@@ -0,0 +1,17 @@
public class Main{
public static void main(String[] args){
Individu titi = new Individu("titi");
titi.add(Denomination.CINQ);
titi.add(Denomination.CINQ);
titi.add(Denomination.CINQ);
titi.add(Denomination.DIX);
titi.add(Denomination.DIX);
System.out.println(titi.getNom()+" a : \n"+titi.printFortune());
Individu toto = new Individu("toto");
toto.add(Denomination.UN);
toto.add(Denomination.UN);
toto.add(Denomination.UN);
toto.add(Denomination.DIX);
System.out.println(toto.getNom()+" a : \n"+toto.printFortune());
}
}

View File

@@ -0,0 +1,66 @@
public class Monoliasse{
private Denomination valeur;
private int combien;
public Monoliasse(){
this.valeur = null;
this.combien = 0;
}
public Monoliasse(Denomination valeur){
this.valeur = valeur;
this.combien = 1;
}
public Monoliasse(Denomination valeur, int combien){
this.valeur = valeur;
this.combien = combien;
}
public void addBillet(){
this.combien ++;
}
public void removeBillet(){
this.combien --;
}
public int getCombien(){
return this.combien;
}
public int getValeurMonoliasse(){
return this.getValeurBillet()*this.combien;
}
public int getValeurBillet(){
if (valeur == Denomination.UN){
return 1;
}
if (valeur == Denomination.DEUX){
return 2;
}
if (valeur == Denomination.CINQ){
return 5;
}
if (valeur == Denomination.DIX){
return 10;
}
if (valeur == Denomination.VINGT){
return 20;
}
if (valeur == Denomination.CINQUANTE){
return 50;
}
if (valeur == Denomination.CENT){
return 100;
}
if (valeur == Denomination.DEUX_CENT){
return 200;
}
if (valeur == Denomination.CINQ_CENT){
return 500;
}
return 0;
}
}

View File

@@ -0,0 +1,38 @@
public class Billet{
private Denomination valeur;
public Billet(Denomination valeur){
this.valeur = valeur;
}
public int getValeur(){
if (valeur == Denomination.UN){
return 1;
}
if (valeur == Denomination.DEUX){
return 2;
}
if (valeur == Denomination.CINQ){
return 5;
}
if (valeur == Denomination.DIX){
return 10;
}
if (valeur == Denomination.VINGT){
return 20;
}
if (valeur == Denomination.CINQUANTE){
return 50;
}
if (valeur == Denomination.CENT){
return 100;
}
if (valeur == Denomination.DEUX_CENT){
return 200;
}
if (valeur == Denomination.CINQ_CENT){
return 500;
}
return 0;
}
}

View File

@@ -0,0 +1,11 @@
enum Denomination {
UN,
DEUX,
CINQ,
DIX,
VINGT,
CINQUANTE,
CENT,
DEUX_CENT,
CINQ_CENT
}

View File

@@ -0,0 +1,34 @@
import java.util.*;
public class Individu{
private String nom;
private List<Billet> fortune;
public Individu(String nom){
this.nom = nom;
this.fortune = new ArrayList<>();
}
public boolean add(Billet billet){
return this.fortune.add(billet);
}
public void payer(int valeur, Individu vendeur){
// to do (il faut pouvoir trier la liste du plus grand au plus petit)
// on pourrait alors utiliser un dictionnaire plutot qu'une liste pour avoir chaque billet en clef et le nombre de fois ou il est present en valeur.
// ce dictionnaire serait devrait etre trier.
// cette methode doit etre recursive pour que chaque individus se rembourse plusieurs fois jusqu'a ce qu'il ne puisse plus
}
public int getFortune(){
int total = 0;
for (Billet billet : fortune){
total += billet.getValeur();
}
return total;
}
public String getNom(){
return this.nom;
}
}

View File

@@ -0,0 +1,17 @@
public class Main{
public static void main(String[] args){
Individu titi = new Individu("titi");
titi.add(new Billet(Denomination.CINQ));
titi.add(new Billet(Denomination.CINQ));
titi.add(new Billet(Denomination.CINQ));
titi.add(new Billet(Denomination.DIX));
titi.add(new Billet(Denomination.DIX));
System.out.println(titi.getNom()+" a : "+titi.getFortune());
Individu toto = new Individu("toto");
toto.add(new Billet(Denomination.UN));
toto.add(new Billet(Denomination.UN));
toto.add(new Billet(Denomination.UN));
toto.add(new Billet(Denomination.DIX));
System.out.println(toto.getNom()+" a : "+toto.getFortune());
}
}