/** * 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; //Pour que ca compile... } ///////////////////////////////////////////////////////////////////////// // 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; //Pour que ca compile... } ////////////////////////////////////////////////////////////////////////// // 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 null; //Pour que ca compile... } //////////////////////////////////////////////////////////////////////// // 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 null; //Pour que ca compile... } ///////////////// ///////////////// //CONSTRUCTEURS// ///////////////// ///////////////// ///////////////////////////////////////////////////////////////// // Cree une pizza avec tous les attributs aux valeurs par defaut ///////////////////////////////////////////////////////////////// public Pizza(){ this(VIANDE_DEFAUT, GARNITURE_DEFAUT, GRANDEUR_DEFAUT, CROUTE_DEFAUT); } ///////////////////////////////////////////////////////////////// // 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){ } ///////////////////////////////////////////////////////////////// // 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){ String v; String g; String gd; String c; String eV; String eG; if (viande < MIN_VIANDE || viande > MAX_VIANDE) { v = VIANDES[VIANDE_DEFAUT]; } else { v = VIANDES[viande]; } if (garniture < MIN_GARN || garniture > MAX_GARN) { g = GARNITURES[GARNITURE_DEFAUT]; } else { g = GARNITURES[garniture]; } if (grandeur < MIN_GRANDEUR || grandeur > MAX_GRANDEUR) { gd = GRANDEURS[GRANDEUR_DEFAUT]; } else { gd = GRANDEURS[grandeur]; } if (croute < MIN_CROUTE || croute > MAX_CROUTE) { CROUTES[CROUTE_DEFAUT] = croute; } else { CROUTES[croute] = croute; } if (extraViande < MIN_VIANDE || extraViande > MAX_VIANDE) { eV = VIANDES[EXTRA_DEFAUT]; } else { eV = VIANDES[extraViande]; } if (extraGarniture < MIN_GARN || extraGarniture > MAX_GARN) { eG = GARNITURES[EXTRA_DEFAUT]; } else { eG = GARNITURES[extraGarniture]; } } ///////////////////////////// //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; } /////////////////////////// //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){ String croute = ""; if (c >= 0 && c <= 4) { croute = CROUTES[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){ String grandeur = ""; if (g >= 0 && g <= 4) { grandeur = GRANDEURS[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){ String viande = ""; if (v >= 0 && v <= 6) { viande = VIANDES[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){ String garniture = ""; if (g >= 0 && g <= 5) { garniture = GARNITURES[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){ String extraViande = ""; if (eV >= 0 && eV <= 6) { extraViande = VIANDES[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){ String extraGarniture = ""; if (eG >= 0 && eG <= 5) { extraGarniture = GARNITURES[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 ( "La pizza a une croute " + c); //Pour que ca compile... } //Variable de CLASSE pour generer le numero de pizza //Pour usage INTERNE seulement. static int noPizza; //Variables d'instance } // Pizza