DEV/BUT1/CONTROLE/DEV2.1/Entrainement/SUJETB/EXO2/Deduction.java

46 lines
1.8 KiB
Java
Raw Permalink Normal View History

2024-03-09 14:19:25 +01:00
/* Écrivez une classe pour représenter une carte. Vous y définirez au moins :
- un constructeur qui permet de préciser le numéro imprimé sur la carte,
- une redéfinition de la méthode toString qui produit un
texte contenant le numéro, le nombre actuel de crédits et le nombre total de crédits obtenus depuis le départ.
- une méthode voir qui renvoie le nombre actuel de crédits.
- une méthode crediter qui ajoute un crédit à la carte (si possible).
- une méthode vider qui remet le compte à zéro lorsque le client bénéficie d'une gratuité.
L'un des développeurs du logiciel, glouton et peu scrupuleux, décide de se créer une yes card, c'est à dire une carte qui dit toujours qu'il a le droit à une ristourne (les crédits restent bloqués à 10). Écrivez une nouvelle classe qui
représente une telle carte, avec les mêmes méthodes que la classe précédente. */
public class Deduction{
private int numeroCarte;
private int nombreCreditActuel;
private int nombreCreditTotal;
public Deduction(int numero){
this.numeroCarte = numero;
this.nombreCreditActuel = 0;
this.nombreCreditTotal = 0;
}
@Override
public String toString(){
return "Numéro de carte : " + this.numeroCarte + "\nNombre de crédit actuelle : " + this.nombreCreditActuel + "\nNombre de crédit total : " + this.nombreCreditTotal;
}
public int voir(){
return this.nombreCreditActuel;
}
public int crediter(){
if(this.nombreCreditActuel < 10){
this.nombreCreditActuel++;
this.nombreCreditTotal++;
}
if (this.nombreCreditActuel == 10) {
vider();
}
return this.nombreCreditActuel;
}
public void vider(){
this.nombreCreditActuel = 0;
}
}