/** * I N F 1 1 2 0 * * Classe servant a faire des pizzas. * * Les informations a conserver sur une pizza sont les suivantes: * * Le type de viande, un entier. * Les valeurs possibles sont: 0 (Aucune), 1 (pepperoni), 2 (bacon), 3 (jambon), * 4 (viande fumee), 5 (poulet), 6 (saucisses italiennes). * La valeur par defaut est 1. * * Le type de garniture, un entier. * Les valeurs possibles sont: 0 (Aucune), 1 (champignons), 2 (piments), 3 (oignons), 4 (olives), * 5 (ananas). La valeur par defaut est 2. * * La grandeur, un entier. * Les valeurs possibles sont: 0 (Extra petite), 1 (Petite), 2 (Moyenne), 3 (Grande), * 4 (Jumbo). La valeur par defaut est 2. * * Un extra de viande, un entier. * Les valeurs possibles sont: 0 (Aucune), 1 (pepperoni), 2 (bacon), 3 (jambon), 4 (viande fumee), * 5 (poulet), 6 (saucisses italiennes). La valeur par defaut est 0. * * Une garniture en extra, un entier. * Les valeurs possibles sont: 0 (Aucune), 1 (champignons), 2 (piments), 3 (oignons), 4 (olives), * 5 (ananas). La valeur par defaut est 0. * * Un type de croute, un entier. * Les valeurs possibles sont: 0 (Ordinaire), 1 (Mince), 2 (Trois Cereales), 3 (Epaisse), 4 (Fromage). * La valeur par defaut est 0. * * Un numero didentification distinct (nombre entier positif). * Les numeros debutent a 1 et sont consecutifs. Chaque pizza a un numero DIFFERENT qui lui est propre. * Les numeros sont generes automatiquement par la classe Pizza. * */ public class Pizza { //Constantes de classe privees private static final String [] GARNITURES = {"Aucune", "champignons", "piments", "oignons", "olives", "ananas"}; private static final String [] VIANDES = {"Aucune", "pepperoni", "bacon", "jambon", "viande fumee", "poulet", "saucisses italiennes"}; private static final String [] GRANDEURS = {"Extra petite", "Petite", "Moyenne", "Grande", "Jumbo"}; private static final String [] CROUTES = {"Ordinaire", "Mince", "Trois Cereales", "Epaisse", "Fromage"}; //Constantes de classe publiques public static final int VIANDE_DEFAUT = 1; public static final int GARNITURE_DEFAUT = 2; public static final int EXTRA_DEFAUT = 0; public static final int GRANDEUR_DEFAUT = 2; public static final int CROUTE_DEFAUT = 0; public static final int MIN_GARN = 0; public static final int MAX_GARN = GARNITURES.length - 1; public static final int MIN_VIANDE = 0; public static final int MAX_VIANDE = VIANDES.length - 1; public static final int MIN_GRANDEUR = 0; public static final int MAX_GRANDEUR = GRANDEURS.length - 1; public static final int MIN_CROUTE = 0; public static final int MAX_CROUTE = CROUTES.length - 1; //Methodes de classe //////////////////////////////////////////////////////////////////////////// // Retourne la chaine de caractere corrrespondant au numero de garniture // recu en parametre. Si le no ne correspond pas a une garniture existante, // la methode retourne la chaine vide. //////////////////////////////////////////////////////////////////////////// public static String garniture (int no){ String chaine = ""; if (no < MIN_GARN || no > MAX_GARN) { chaine = ""; }else { chaine = GARNITURES [no]; } return chaine; } ///////////////////////////////////////////////////////////////////////// // Retourne la chaine de caractere corrrespondant au numero de viande // recu en parametre. Si le no ne correspond pas a une viande existante, // la methode retourne la chaine vide. ///////////////////////////////////////////////////////////////////////// public static String viande (int no){ String chaine = ""; if (no < MIN_VIANDE || no > MAX_VIANDE) { chaine = ""; }else { chaine = VIANDES [no]; } return chaine; } ////////////////////////////////////////////////////////////////////////// // Retourne la chaine de caractere corrrespondant au numero de grandeur // recu en parametre. Si le no ne correspond pas a une grandeur existante, // la methode retourne la chaine vide. ////////////////////////////////////////////////////////////////////////// public static String grandeur (int no){ String chaine; if (no < MIN_GRANDEUR || no > MAX_GRANDEUR) { chaine = ""; }else { chaine = GRANDEURS [no]; } return chaine; } //////////////////////////////////////////////////////////////////////// // Retourne la chaine de caractere corrrespondant au numero de croute // recu en parametre. Si le no ne correspond pas a une croute existante, // la methode retourne la chaine vide. //////////////////////////////////////////////////////////////////////// public static String croute (int no){ String chaine = ""; if (no < MIN_CROUTE || no > MAX_CROUTE) { chaine = ""; }else { chaine = CROUTES [no]; } return chaine; } ///////////////// ///////////////// //CONSTRUCTEURS// ///////////////// ///////////////// ///////////////////////////////////////////////////////////////// // Cree une pizza avec tous les attributs aux valeurs par defaut ///////////////////////////////////////////////////////////////// public Pizza(){ this(VIANDE_DEFAUT, GARNITURE_DEFAUT, GRANDEUR_DEFAUT, CROUTE_DEFAUT, EXTRA_DEFAUT, EXTRA_DEFAUT); this.num = this.numero; } ///////////////////////////////////////////////////////////////// // Cree une pizza avec AUCUN extra et les informations en // parametre. // Lorsqu'un parametre est invalide, l'attribut correspondant est // mis a la valeur par defaut. ///////////////////////////////////////////////////////////////// public Pizza(int viande, int garniture, int grandeur, int croute){ this.numero++; this.num = this.numero; if (viande < MIN_VIANDE || viande > MAX_VIANDE) { this.viande = VIANDE_DEFAUT; } else { this.viande = viande; } if (garniture < MIN_GARN || garniture > MAX_GARN) { this.garniture = GARNITURE_DEFAUT; } else { this.garniture = garniture; } if (grandeur < MIN_GRANDEUR || grandeur > MAX_GRANDEUR) { this.grandeur = GRANDEUR_DEFAUT; } else { this.grandeur = grandeur; } if (croute < MIN_CROUTE || croute > MAX_CROUTE) { this.croute = CROUTE_DEFAUT; } else { this.croute = croute; } this.extraViande = EXTRA_DEFAUT; this.extraGarniture = EXTRA_DEFAUT; } ///////////////////////////////////////////////////////////////// // Cree une pizza avec les informations en parametre. // Lorsqu'un parametre est invalide, l'attribut correspondant est // mis a la valeur par defaut. ///////////////////////////////////////////////////////////////// public Pizza(int viande, int garniture, int grandeur, int croute, int extraViande, int extraGarniture){ this.numero++; this.num = this.numero; if (viande < MIN_VIANDE || viande > MAX_VIANDE) { this.viande = VIANDE_DEFAUT; } else { this.viande = viande; } if (garniture < MIN_GARN || garniture > MAX_GARN) { this.garniture = GARNITURE_DEFAUT; } else { this.garniture = garniture; } if (grandeur < MIN_GRANDEUR || grandeur > MAX_GRANDEUR) { this.grandeur = GRANDEUR_DEFAUT; } else { this.grandeur = grandeur; } if (croute < MIN_CROUTE || croute > MAX_CROUTE) { this.croute = CROUTE_DEFAUT; } else { this.croute = croute; } if (extraViande < MIN_VIANDE || extraViande > MAX_VIANDE) { this.extraViande = EXTRA_DEFAUT; } else { this.extraViande = viande; } if (extraGarniture < MIN_GARN || extraGarniture > MAX_GARN) { this.extraGarniture = EXTRA_DEFAUT; } else { this.extraGarniture = garniture; } } ///////////////////////////// //SEPT ACCESSEURS (GETTERS)// // a ajouter... // ///////////////////////////// public String[] getViande() { return VIANDES; } public String[] getGarniture() { return GARNITURES; } public String[] getGrandeur() { return GRANDEURS; } public String[] getCroute() { return CROUTES; } public String[] getExtraViande() { return VIANDES; } public String[] getExtraGarniture() { return GARNITURES; } public int getNoPizza() { int numero; numero = this.num; return numero; } /////////////////////////// //MODIFICATEURS (SETTERS)// /////////////////////////// ////////////////////////////////////////////////////// // Modifie la croute de la pizza. // Si la valeur recu en parametre ne fait pas // partie des valeurs permises, aucune modification // n'est effectuee et aucun message d'erreur n'est // affiche. ////////////////////////////////////////////////////// public void setCroute(int c){ if (c >= MIN_CROUTE && c <= MAX_CROUTE) { croute = c; } } ////////////////////////////////////////////////////// // Modifie la grandeur de la pizza. // Si la valeur recu en parametre ne fait pas // partie des valeurs permises, aucune modification // n'est effectuee et aucun message d'erreur n'est // affiche. ////////////////////////////////////////////////////// public void setGrandeur(int g){ if (g >= MIN_GRANDEUR && g <= MAX_GRANDEUR) { grandeur = g; } } ////////////////////////////////////////////////////// // Modifie la viande de la pizza. // Si la valeur recu en parametre ne fait pas // partie des valeurs permises, aucune modification // n'est effectuee et aucun message d'erreur n'est // affiche. ////////////////////////////////////////////////////// public void setViande(int v){ if (v >= MIN_VIANDE && v <= MAX_VIANDE) { viande = v; } } ////////////////////////////////////////////////////// // Modifie la garniture de la pizza. // Si la valeur recu en parametre ne fait pas // partie des valeurs permises, aucune modification // n'est effectuee et aucun message d'erreur n'est // affiche. ////////////////////////////////////////////////////// public void setGarniture(int g){ if (g >= MIN_GARN && g <= MAX_GARN) { garniture = g; } } ////////////////////////////////////////////////////// // Modifie la viande en extra de la pizza. // Si la valeur recu en parametre ne fait pas // partie des valeurs permises, aucune modification // n'est effectuee et aucun message d'erreur n'est // affiche. ////////////////////////////////////////////////////// public void setExtraViande(int eV){ if (eV >= MIN_VIANDE && eV <= MAX_VIANDE) { extraViande = eV; } } ////////////////////////////////////////////////////// // Modifie la garniture en extra de la pizza. // Si la valeur recu en parametre ne fait pas // partie des valeurs permises, aucune modification // n'est effectuee et aucun message d'erreur n'est // affiche. ////////////////////////////////////////////////////// public void setExtraGarniture(int eG){ if (eG >= MIN_GARN && eG <= MAX_GARN) { extraGarniture = eG; } } ///////////////////////////////////// /// METHODE UTILITAIRE D'INSTANCE /// ///////////////////////////////////// ////////////////////////////////////////////////////// // Retourne une chaine de caracteres contenant les // caracteristiques de la pizza. // Pour chacune des informations, on doit mettre une // description de l'information, suivie de sa valeur. // Chaque information doit etre sur une ligne // differente (utilisez \n la ou cela s'applique). ////////////////////////////////////////////////////// public String toString(){ return ("Pizza numero " + this.num + "\n****************************" + "\n- Viande : " + this.viande(viande) + "\n- Garniture : " + this.garniture(garniture) + "\n- Grandeur : " + this.grandeur(grandeur) + "\n- Croute : " + this.croute(croute) + "\n- Extra viande : " + this.viande(extraViande) + "\n- Extra garniture : " + this.garniture(extraGarniture)); } //Variable de CLASSE pour generer le numero de pizza //Pour usage INTERNE seulement. private static int numero; //Variables d'instance private int num; private int viande; private int garniture; private int grandeur; private int croute; private int extraViande; private int extraGarniture; } // Pizza