IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Problème Developpement JAVA


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut Problème Developpement JAVA
    Bonjour ,

    Voila j'ai développé une application , mais lors de la compilation j'ai une erreur mais je n'arrive pas à résoudre ce problème voici la partie de code qui coince :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class Revue {
     
    //________________________________________________________________________________________
          								 //Attributs Privés
     
       private String code;
    	private String titre;
    	private Double prixAbonnementPublic;
    	private List lesAbonnements; //collection d'abonnements
     
     
    //________________________________________________________________________________________
    								//Constructeur de la Clase Revue
     
       public Revue (String unCode, String unTitre, Double unPrixAbonnementPublic) {
          this.code = unCode;
    		this.titre = unTitre;
    		this.prixAbonnementPublic = unPrixAbonnementPublic;
    		this.lesAbonnements = new Vector();
       	}
     
    	public Revue (String unCode, String unTitre, int monPrix) {
          this.code = unCode;
    		this.titre = unTitre;
    		this.prixAbonnementPublic = monPrix.00;
       	}
    Voici le message erreur lors de la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ----jGRASP exec: javac -g Revue.java
     
    Revue.java:27: error: ';' expected
    		this.prixAbonnementPublic = monPrix.00;
    		                                   ^
    1 error
     
     ----jGRASP wedge2: exit code for process is 1.
     ----jGRASP: operation complete.
    Si quelqu'un peut m'éclairer ..
    Merci

  2. #2
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Le probléme viens de this.prixAbonnementPublic = monPrix.00;
    monPrix.00 qu'est ce que ça veut dire this.prixAbonnementPublic = monPrix; je sais mais le .00 c'est quoi ??

  3. #3
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Utilise Double.valueOf(monPrix); pour convertir ton int en double

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    Merci je vais essayer ca , mais le Double.valueOf(monPrix) je le place ou , dans le constructeur directement ?

  5. #5
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    tu remplace this.prixAbonnementPublic = monPrix.00;
    par this.prixAbonnementPublic = Double.valueOf(monPrix);

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    Merci beaucoup , l'erreur ne s'affiche plus pour cette ligne ,
    Mais maintenant une autre erreur apparait :

    Note: Revue.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.

    désolé je débute en java et personne pour m'aider!
    Votre aide m'est tres bénéfique et me sauve :p

  7. #7
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Pourquoi dans ton list d'abonnement tu n'as pas fait un new arraylist a la place de new vector je pense que c'est mieux

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    Meme avec un new arraylist() l'erreur persiste..

  9. #9
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Est ce que je peux avoir l'ensemble de tes classes pour savoir ton probleme car je ne vois pas d'erreur

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    Classe : Abonnment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    public class Abonnement {
     
    //________________________________________________________________________________________
     												//Attributs Privés
     
       private int numéro;
    	private String nom;
    	private String prénom;
    	private String raisonSociale;
    	private String adresse;
    	private String codePostal;
    	private String ville;
    	private String dateDébut;
    	private String dateFin;
    	private Revue laRevue;
     
     
    //______________________________________________________________________________________
    									//Constructeur de la Clase Abonnement
     
       public Abonnement (int unNuméro, String unNom, String unPrénom, String uneRaisonSociale, String uneAdresse, String unCodePostal, String uneVille, String uneDateDébut, String uneDateFin, Revue uneRevue) {
          this.numéro = unNuméro;
    		this.nom = unNom;
    		this.prénom = unPrénom;
    		this.raisonSociale = uneRaisonSociale;
    		this.adresse = uneAdresse;
    		this.codePostal = unCodePostal;
    		this.ville = uneVille;
    		this.dateDébut = uneDateDébut;
    		this.dateFin = uneDateFin;
    		this.laRevue = uneRevue;
       }
     
     
    //______________________________________________________________________________________
    											//Méthodes Publiques
     
    	//Fonction localisation() : permet de connaitre si on est en metropole ou en DomTom
    	public String localisation() {		
     
    		//Début 
    			if (codePostal == "971" || codePostal == "972" || codePostal == "973" || codePostal == "974" || codePostal == "975" || codePostal == "976"){
    			return "D";
    			}else {
    				return "M";
    				}
    		//Fin
    	}
     
    		//Fonction getDateFin() : retourne la date correspondant à la fin de l'abonnement
    	public String getDateFin(){
    		return this.dateFin;
    		}
     
    		//Fonction prixAbonnement() : retourne le prix de l'abonnement en fonction du département
    	public Double prixAbonnement() {
    		String laLocalisation;
    		Double lePrix;
     
    		laLocalisation = localisation();
    		lePrix = laRevue.getPrixAbonnementPublic();
     
    		if (laLocalisation == "D"){
    			lePrix = lePrix * 1.50;
    			return lePrix;
    			} else {
    				return lePrix;
    				}
    		}
     
    		//Fontion numAbonnement : retourne le numéro de l'abonnement
    	public int numAbonnement() {
    		return this.numéro;
    		}
     
    	public String nomAbonnement(){
    		return this.nom;
    		}
    }
    Classe: AbonnementMultiple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    public class AbonnementMultiple extends Abonnement {
     
    //________________________________________________________________________________________
    											//Attributs privés
     
    	private int nbexemplaire;
    	private int tauxremise; //en pourcentage
     
     
    //________________________________________________________________________________________
    										//Constructeur
     
    	public AbonnementMultiple (int unNuméro, String unNom, String unPrénom, String uneRaisonSociale, String uneAdresse, String unCodePostal, String uneVille, String uneDateDébut, String uneDateFin, Revue uneRevue, int unNbExemplaire, int unTauxRemise){
    		super (unNuméro, unNom, unPrénom, uneRaisonSociale, uneAdresse, unCodePostal, uneVille, uneDateDébut, uneDateFin, uneRevue);
    		this.nbexemplaire = unNbExemplaire;
    		this.tauxremise = unTauxRemise;
    		}
     
     
    //________________________________________________________________________________________
    											//Méthode publique
     
    	public Double prixAbonnementM(){
    		Double unPrix;
    		unPrix = this.prixAbonnement() * nbexemplaire * (100 - tauxremise) / 100;
    		return unPrix;
    		}
     
     
    	}
    Classe : DateCT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import java.util.Date;
    import java.text.SimpleDateFormat;
     
    public class DateCT {
     
    //______________________________________________________________________________________
    												//Attributs Privés
     
    	private Date date;
     
     
    //______________________________________________________________________________________
    										//Constructeur de la clase Revue
     
    	public DateCT (String uneDate) {
    		new Date(uneDate);
    		}
     
    //______________________________________________________________________________________
    									//Méthodes publiques de la classe DateCT
     
    			//Fonction aujourdhui() : retourne la date du jour sous forme de chaine de caractere						
    	public static String aujourdhui(){
    		String format = "dd/MM/yyyy";
    		SimpleDateFormat formater = new SimpleDateFormat( format );
    		Date date = new Date();
    		return formater.format(date);
    		}
     
    			//Fonction differenceJours() : retourne le nombre de jour entre la date d'aujourdhui et une de fin d'abonnement
    	public static long differenceJours(String uneDate){
    		//VAR
    		Date maDateFin;
    		Date dateJour;
    		long nbjours;
     
    		//Début
    		maDateFin = new Date(uneDate);
    		dateJour = new Date();
     
    		nbjours = maDateFin.getTime() - dateJour.getTime();
    		return nbjours / 86400000;
    		}		
     
    	}
    Voila la classe : Revue (qui me pose problème jusqu'a présent !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    import java.util.*;
     
    public class Revue {
     
    //________________________________________________________________________________________
          								 //Attributs Privés
     
       private String code;
    	private String titre;
    	private Double prixAbonnementPublic;
    	private List lesAbonnements; //collection d'abonnements
     
     
    //________________________________________________________________________________________
    								//Constructeur de la Clase Revue
     
       public Revue (String unCode, String unTitre, Double unPrixAbonnementPublic) {
          this.code = unCode;
    		this.titre = unTitre;
    		this.prixAbonnementPublic = unPrixAbonnementPublic;
    		this.lesAbonnements = new Vector();
       	}
     
    	public Revue (String unCode, String unTitre, int monPrix) {
          this.code = unCode;
    		this.titre = unTitre;
    		 this.prixAbonnementPublic = Double.valueOf(monPrix);
       	}
     
    //________________________________________________________________________________________
    										//Méthodes Publiques
     
    		//Fonction qui renvoit le prix de l'abonnement			
    	public Double getPrixAbonnementPublic () {
    		return this.prixAbonnementPublic;
    		}
     
     
    		//Fonction qui retourne une collection d'abonnements à relancer
    	public List relancerAbonnements(){
    		//VAR
    		List mesAbonnements; // collection qui contiendra les abonnements à relancer
    		int i, nbabonnement;
    		long nbjourdiff;
    		Abonnement unAbonnement;
    		//Début
    		mesAbonnements = new Vector();
    		nbabonnement = this.cardinal();
     
    		//pour i de 1 à nbabonnement
    		for ( i=1; i < nbabonnement; i++) {
    			unAbonnement = this.extraireAbonnement(i);
     
    			nbjourdiff = DateCT.differenceJours(unAbonnement.getDateFin());
    			if (nbjourdiff >= 0 && nbjourdiff <= 30){
    				mesAbonnements.add(unAbonnement);
    				}
    			}	
    		return mesAbonnements;
    		}
     
     
    //________________________________________________________________________________________	
    								//Méthodes de la Collection lesAbonnements
     
    	//Fonction qui renvoie le nombre d'abonnements
    	public int cardinal(){
    		return lesAbonnements.size();
    		}
     
    	//Fonction qui vérifie si l'objet existe dans la collection
    	public boolean existeAbonnement(Abonnement unAbonnement){
    		boolean rep;
    		rep = (boolean) lesAbonnements.contains(unAbonnement);
    		return rep;
    		}
     
    	//Fonction qui retourne l'index d'un Abonnement passé en paramétre
    	public int extraireIndex(Abonnement unAbonnement){
    		int i;
    		i = lesAbonnements.indexOf(unAbonnement);
    		return i;
    		}
     
    	//Fonction permettant d'extraire l'Abonnement correspondant au paramétre numAbonnement
    	public Abonnement extraireAbonnement(int numAbonnement){
    		Abonnement unAbonnement;
    		unAbonnement = (Abonnement) lesAbonnements.get(numAbonnement);
    		return unAbonnement;
    		}
     
    	//Fonction qui ajoute un abonnement 	
    	public void ajouteAbonnement(Abonnement abonnement){
    		this.lesAbonnements.add(abonnement);
    		}
     
    	//Fonction qui retire un abonnement
    	public void retireAbonnement(Abonnement abonnement){
    		this.lesAbonnements.remove(abonnement);
    		}
     
    	//Fonction qui permet de vider la collection
    	public void vider() {
    		lesAbonnements.clear();
    		}
     
    	}
    Puis la dernière TestApplication :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    //import java.util.Scanner;
     
    public class TestApplication {
     
    	 public static void main (String args[]) {
     
     
    //Scanner sc = new Scanner(System.in);
     
     
    //_______________________________________________________________________________________________
    									  // ===> CLASSE REVUE <===
     
    // Déclaration d'un objet de la classe Revue
    Revue RevueTest;
     
    // Appel du constructeur 
    RevueTest = new Revue("FF01", "Les Fiches du Cinema", 5.00);
     
    // Test de la fonction getPrixAbonnementPublic
    System.out.println ("Le prix est de : " + RevueTest.getPrixAbonnementPublic() + "€.");
     
     
    //_______________________________________________________________________________________________
    									// ===> CLASSE ABONNEMENT <===
    Abonnement unAbonnement;
    Abonnement unAbonnement2;
    unAbonnement = new Abonnement  (1, "Boukrouh", "Sofian", "Cadre", "5 rue Frédéric Chopin", "975", "Fleury-les-Aubrais", "18/06/2011", "31/06/2011", RevueTest);
    unAbonnement2 = new Abonnement (2, "Balavoine", "Daniel", "Chanteur", "5 rue du Paradis", "75000", "Paris", "01/06/2011", "31/05/2012", RevueTest);
     
    System.out.println ("Lettre du code postal = " + unAbonnement.localisation());
    System.out.println ("L'année de fin de l'abonnement est : " + unAbonnement.getDateFin());
    System.out.println ("Le prix de l'abonnement est : " + unAbonnement.prixAbonnement() + "€.");
    RevueTest.ajouteAbonnement(unAbonnement);
    RevueTest.ajouteAbonnement(unAbonnement2);
    System.out.println ("Le nombre d'abonnement pour cette revue est : " + RevueTest.cardinal() + ".");
     
     
     
     
     
     
    //_______________________________________________________________________________________________
    									// ===> CLASSE ABONNEMENTMULTIPLE <===
     
    AbonnementMultiple unAbonnementM;
     
    unAbonnementM = new AbonnementMultiple(2, "Boukrouh", "Sofian", "Cadre", "5 rue Frédéric Chopin", "975", "Fleury-les-Aubrais", "18/06/2011", "20/06/2011", RevueTest, 100, 10);
    System.out.println ("Le prix de l'abonnment multiple est : " + unAbonnementM.prixAbonnementM() + "€.");
     
     
    //_______________________________________________________________________________________________
    									  // ===> CLASSE DATE <===
     
    long nbjours;
    String DatedeFin;
    DatedeFin = unAbonnement.getDateFin();
    System.out.println ("La DatedeFin = " + DatedeFin);
    System.out.println ("Aujourd'hui  = " + DateCT.aujourdhui());
    nbjours = DateCT.differenceJours(DatedeFin);
    System.out.println ("La différence est de : " + nbjours + " jours.");
     
     
     
     
    for (int i=0; i< RevueTest.cardinal(); i++)	{
    		System.out.println("Le nom de l'abonné est :"  + RevueTest.extraireAbonnement(i).nomAbonnement() );
    		}	
     
     
    	}
    }
    Je suis sur ce programme depuis 4 jours.. et l'erreur doit être sous mes yeux mais je ne vois rien..

  11. #11
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    J'ai fait des modifications et ça compile sans erreurs chez moi y avait beaucoup de choses qui sont depracated je pense.

    classe Abonnement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    public class Abonnement {
     
    	// ________________________________________________________________________________________
    	// Attributs Privés
     
    	private int numéro;
    	private String nom;
    	private String prénom;
    	private String raisonSociale;
    	private String adresse;
    	private String codePostal;
    	private String ville;
    	private String dateDébut;
    	private String dateFin;
    	private Revue laRevue;
     
    	// ______________________________________________________________________________________
    	// Constructeur de la Clase Abonnement
     
    	public Abonnement(int unNuméro, String unNom, String unPrénom,
    			String uneRaisonSociale, String uneAdresse, String unCodePostal,
    			String uneVille, String uneDateDébut, String uneDateFin,
    			Revue uneRevue) {
    		this.numéro = unNuméro;
    		this.nom = unNom;
    		this.prénom = unPrénom;
    		this.raisonSociale = uneRaisonSociale;
    		this.adresse = uneAdresse;
    		this.codePostal = unCodePostal;
    		this.ville = uneVille;
    		this.dateDébut = uneDateDébut;
    		this.dateFin = uneDateFin;
    		this.laRevue = uneRevue;
    	}
     
    	// ______________________________________________________________________________________
    	// Méthodes Publiques
     
    	// Fonction localisation() : permet de connaitre si on est en metropole ou
    	// en DomTom
    	public String localisation() {
     
    		// Début
    		if ("971".equals(codePostal) || "972".equals(codePostal) || "973".equals(codePostal)
    				|| "974".equals(codePostal) || "975".equals(codePostal)
    				|| "976".equals(codePostal)) {
    			return "D";
    		} else {
    			return "M";
    		}
    		// Fin
    	}
     
    	// Fonction getDateFin() : retourne la date correspondant à la fin de
    	// l'abonnement
    	public String getDateFin() {
    		return this.dateFin;
    	}
     
    	// Fonction prixAbonnement() : retourne le prix de l'abonnement en fonction
    	// du département
    	public Double prixAbonnement() {
    		String laLocalisation;
    		Double lePrix;
     
    		laLocalisation = localisation();
    		lePrix = laRevue.getPrixAbonnementPublic();
     
    		if ("D".equals(laLocalisation)) {
    			lePrix = lePrix * 1.50;
    			return lePrix;
    		} else {
    			return lePrix;
    		}
    	}
     
    	// Fontion numAbonnement : retourne le numéro de l'abonnement
    	public int numAbonnement() {
    		return this.numéro;
    	}
     
    	public String nomAbonnement() {
    		return this.nom;
    	}
    }
    Classe AbonnementMultiple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    public class AbonnementMultiple extends Abonnement {
     
    	// ________________________________________________________________________________________
    	// Attributs privés
     
    	private int nbexemplaire;
    	private int tauxremise; // en pourcentage
     
    	// ________________________________________________________________________________________
    	// Constructeur
     
    	public AbonnementMultiple(int unNuméro, String unNom, String unPrénom,
    			String uneRaisonSociale, String uneAdresse, String unCodePostal,
    			String uneVille, String uneDateDébut, String uneDateFin,
    			Revue uneRevue, int unNbExemplaire, int unTauxRemise) {
    		super(unNuméro, unNom, unPrénom, uneRaisonSociale, uneAdresse,
    				unCodePostal, uneVille, uneDateDébut, uneDateFin, uneRevue);
    		this.nbexemplaire = unNbExemplaire;
    		this.tauxremise = unTauxRemise;
    	}
     
    	// ________________________________________________________________________________________
    	// Méthode publique
     
    	public Double prixAbonnementM() {
    		Double unPrix;
    		unPrix = this.prixAbonnement() * nbexemplaire * (100 - tauxremise)
    				/ 100;
    		return unPrix;
    	}
     
    }
    classe DateCT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
     
    public class DateCT {
     
    	// ______________________________________________________________________________________
    	// Attributs Privés
     
    	private Date date;
     
    	// ______________________________________________________________________________________
    	// Constructeur de la clase Revue
     
    	public DateCT(String uneDate) {
    		SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
    		try {
    			date=formatter.parse(uneDate);
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
     
    	// ______________________________________________________________________________________
    	// Méthodes publiques de la classe DateCT
     
    	// Fonction aujourdhui() : retourne la date du jour sous forme de chaine de
    	// caractere
    	public static String aujourdhui() {
    		String format = "dd/MM/yyyy";
    		SimpleDateFormat formater = new SimpleDateFormat(format);
    		Date date = new Date();
    		return formater.format(date);
    	}
     
    	// Fonction differenceJours() : retourne le nombre de jour entre la date
    	// d'aujourdhui et une de fin d'abonnement
    	public static long differenceJours(String uneDate) {
    		// VAR
    		Date maDateFin=null;
    		Date dateJour;
    		long nbjours;
     
    		// Début
    		SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    		try {
    			maDateFin = formatter.parse(uneDate);
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		dateJour = new Date();
     
    		nbjours = maDateFin.getTime() - dateJour.getTime();
    		return nbjours / 86400000;
    	}
     
    }
    classe Revue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Vector;
     
    public class Revue {
     
    	// ________________________________________________________________________________________
    	// Attributs Privés
     
    	private String code;
    	private String titre;
    	private Double prixAbonnementPublic;
    	private List<Abonnement> lesAbonnements; // collection d'abonnements
     
    	// ________________________________________________________________________________________
    	// Constructeur de la Clase Revue
     
    	public Revue(String unCode, String unTitre, Double unPrixAbonnementPublic) {
    		this.code = unCode;
    		this.titre = unTitre;
    		this.prixAbonnementPublic = unPrixAbonnementPublic;
    		this.lesAbonnements = new ArrayList<Abonnement>();
    	}
     
    	public Revue(String unCode, String unTitre, int monPrix) {
    		this.code = unCode;
    		this.titre = unTitre;
    		this.prixAbonnementPublic = Double.valueOf(monPrix);
    	}
     
    	// ________________________________________________________________________________________
    	// Méthodes Publiques
     
    	// Fonction qui renvoit le prix de l'abonnement
    	public Double getPrixAbonnementPublic() {
    		return this.prixAbonnementPublic;
    	}
     
    	// Fonction qui retourne une collection d'abonnements à relancer
    	public List<Abonnement> relancerAbonnements() {
    		// VAR
    		List<Abonnement> mesAbonnements; // collection qui contiendra les abonnements à
    								// relancer
    		int i, nbabonnement;
    		long nbjourdiff;
    		Abonnement unAbonnement;
    		// Début
    		mesAbonnements = new ArrayList<Abonnement>();
    		nbabonnement = this.cardinal();
     
    		// pour i de 1 à nbabonnement
    		for (i = 1; i < nbabonnement; i++) {
    			unAbonnement = this.extraireAbonnement(i);
     
    			nbjourdiff = DateCT.differenceJours(unAbonnement.getDateFin());
    			if (nbjourdiff >= 0 && nbjourdiff <= 30) {
    				mesAbonnements.add(unAbonnement);
    			}
    		}
    		return mesAbonnements;
    	}
     
    	// ________________________________________________________________________________________
    	// Méthodes de la Collection lesAbonnements
     
    	// Fonction qui renvoie le nombre d'abonnements
    	public int cardinal() {
    		return lesAbonnements.size();
    	}
     
    	// Fonction qui vérifie si l'objet existe dans la collection
    	public boolean existeAbonnement(Abonnement unAbonnement) {
    		boolean rep;
    		rep = (boolean) lesAbonnements.contains(unAbonnement);
    		return rep;
    	}
     
    	// Fonction qui retourne l'index d'un Abonnement passé en paramétre
    	public int extraireIndex(Abonnement unAbonnement) {
    		int i;
    		i = lesAbonnements.indexOf(unAbonnement);
    		return i;
    	}
     
    	// Fonction permettant d'extraire l'Abonnement correspondant au paramétre
    	// numAbonnement
    	public Abonnement extraireAbonnement(int numAbonnement) {
    		Abonnement unAbonnement;
    		unAbonnement = (Abonnement) lesAbonnements.get(numAbonnement);
    		return unAbonnement;
    	}
     
    	// Fonction qui ajoute un abonnement
    	public void ajouteAbonnement(Abonnement abonnement) {
    		this.lesAbonnements.add(abonnement);
    	}
     
    	// Fonction qui retire un abonnement
    	public void retireAbonnement(Abonnement abonnement) {
    		this.lesAbonnements.remove(abonnement);
    	}
     
    	// Fonction qui permet de vider la collection
    	public void vider() {
    		lesAbonnements.clear();
    	}
     
    }
    classe TestApplication

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    //import java.util.Scanner;
     
    public class TestApplication {
     
    	public static void main(String args[]) {
     
    		// Scanner sc = new Scanner(System.in);
     
    		// _______________________________________________________________________________________________
    		// ===> CLASSE REVUE <===
     
    		// Déclaration d'un objet de la classe Revue
    		Revue RevueTest;
     
    		// Appel du constructeur
    		RevueTest = new Revue("FF01", "Les Fiches du Cinema", 5.00);
     
    		// Test de la fonction getPrixAbonnementPublic
    		System.out.println("Le prix est de : "
    				+ RevueTest.getPrixAbonnementPublic() + "€.");
     
    		// _______________________________________________________________________________________________
    		// ===> CLASSE ABONNEMENT <===
    		Abonnement unAbonnement;
    		Abonnement unAbonnement2;
    		unAbonnement = new Abonnement(1, "Boukrouh", "Sofian", "Cadre",
    				"5 rue Frédéric Chopin", "975", "Fleury-les-Aubrais",
    				"18/06/2011", "31/06/2011", RevueTest);
    		unAbonnement2 = new Abonnement(2, "Balavoine", "Daniel", "Chanteur",
    				"5 rue du Paradis", "75000", "Paris", "01/06/2011",
    				"31/05/2012", RevueTest);
     
    		System.out.println("Lettre du code postal = "
    				+ unAbonnement.localisation());
    		System.out.println("L'année de fin de l'abonnement est : "
    				+ unAbonnement.getDateFin());
    		System.out.println("Le prix de l'abonnement est : "
    				+ unAbonnement.prixAbonnement() + "€.");
    		RevueTest.ajouteAbonnement(unAbonnement);
    		RevueTest.ajouteAbonnement(unAbonnement2);
    		System.out.println("Le nombre d'abonnement pour cette revue est : "
    				+ RevueTest.cardinal() + ".");
     
    		// _______________________________________________________________________________________________
    		// ===> CLASSE ABONNEMENTMULTIPLE <===
     
    		AbonnementMultiple unAbonnementM;
     
    		unAbonnementM = new AbonnementMultiple(2, "Boukrouh", "Sofian",
    				"Cadre", "5 rue Frédéric Chopin", "975", "Fleury-les-Aubrais",
    				"18/06/2011", "20/06/2011", RevueTest, 100, 10);
    		System.out.println("Le prix de l'abonnment multiple est : "
    				+ unAbonnementM.prixAbonnementM() + "€.");
     
    		// _______________________________________________________________________________________________
    		// ===> CLASSE DATE <===
     
    		long nbjours;
    		String DatedeFin;
    		DatedeFin = unAbonnement.getDateFin();
    		System.out.println("La DatedeFin = " + DatedeFin);
    		System.out.println("Aujourd'hui = " + DateCT.aujourdhui());
    		nbjours = DateCT.differenceJours(DatedeFin);
    		System.out.println("La différence est de : " + nbjours + " jours.");
     
    		for (int i = 0; i < RevueTest.cardinal(); i++) {
    			System.out.println("Le nom de l'abonné est :"
    					+ RevueTest.extraireAbonnement(i).nomAbonnement());
    		}
     
    	}
    }
    Voici ce que j'ai fait tout n'est pas parfait car je dois partir mais si tu as un problème laisse un message et je te réponds à mon retour

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    j'essaye tout ca ! Merci beaucoup , je post une fois tout modifié

Discussions similaires

  1. Problème Applet Java et Win XP SP2
    Par octal dans le forum Applets
    Réponses: 4
    Dernier message: 04/02/2006, 09h57
  2. divers problème avec Java et jdbc
    Par chti_juanito dans le forum JDBC
    Réponses: 28
    Dernier message: 31/10/2005, 16h54
  3. [Developpement JAVA SWT] Imprimer une Table
    Par mehdi.kiwi dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 20/05/2005, 15h05
  4. Réponses: 15
    Dernier message: 16/05/2005, 10h31
  5. [Mobile]Développement java ou c++ pour mobile ?
    Par keny dans le forum Mobiles
    Réponses: 2
    Dernier message: 20/11/2004, 21h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo