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

Java Discussion :

Application gestion d'agendas


Sujet :

Java

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 103
    Par défaut Application gestion d'agendas
    Bonjour,

    Je développe actuellement en langage orienté objet une application permettant de gérer un agenda appartenant à une personne caractérisée par son prénom et son nom. Cet agenda contient une liste de rdvs et chaque rdv est caractérisé par une date, un descriptif (chaine de caractères simple) et une durée (en double).

    J'ai un problème concernant ma fonction getDate() car j'aimerais tout simplement récupérer la date d'un rdv avec un return.
    De plus, mes méthodes de modification de date, descriptif et duree ont un problème de compilation car elles sont "non-static" ?

    Comment procéder svp ? Merci d'avance.
    PS : mon code se trouve ci-dessous.

    classe rdv :
    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
    import java.util.Date;
     
    public class RendezVous extends Agenda {
     
    	private Date date;
    	private String descriptif;
    	private double duree; // en heures
     
    	public RendezVous()
    	{
    		duree = 1.00;
    	}
     
    	public RendezVous(Date uneDate, String unDescriptif, double uneDuree)
    	{
    		this.date = uneDate;
    		this.descriptif = unDescriptif;
    		this.duree = uneDuree;
    	}
     
    	static public Date getDate()
    	{
    		return date;
    	}
     
    	public String getDescriptif()
    	{
    		return this.descriptif;
    	}
     
    	public double getDuree()
    	{
    		return this.duree;
    	}
     
    	public void changeDate(RendezVous RendezVousConcerne)
    	{
    		int annee, mois, jour;
    		annee = Lire.jint("Année du rendez-vous : ") - 1900;
    		mois = Lire.jint("Mois du rendez-vous : ") - 1;
    		jour = Lire.jint("Jour du rendez-vous : ");
    		Date d = new Date(annee, mois, jour);
    		String desc = RendezVousConcerne.getDescriptif();
    		double dur = RendezVousConcerne.getDuree();
    		rdvs.remove(RendezVousConcerne);
    		RendezVous NouveauRendezVous = new RendezVous(d, desc, dur);
    		rdvs.add(NouveauRendezVous);
    	}
     
    	public void changeDescriptif(RendezVous RendezVousConcerne)
    	{
    		this.descriptif = Lire.jString("Nouveau descriptif : ");
    	}
     
    	public void changeDuree(RendezVous RendezVousConcerne)
    	{
    		this.duree = Lire.jdouble("Nouvelle durée : ");
    		while (this.duree <= 0)
    		{
    			System.out.println("ERREUR : la durée d'un rendez-vous est forcément supérieure à 0 !");
    			this.duree = Lire.jdouble("Nouvelle durée : ");
    		}
    	}
     
    	public void init()
    	{
    		System.out.println("NOUVEAU RENDEZ-VOUS");
    		int annee, mois, jour;
    		annee = Lire.jint("Année du rendez-vous : ") - 1900;
    		mois = Lire.jint("Mois du rendez-vous : ") - 1;
    		jour = Lire.jint("Jour du rendez-vous : ");
    		this.date = new Date(annee, mois, jour);
    		this.descriptif = Lire.jString("Descriptif du rendez-vous : ");
    		this.duree = Lire.jdouble("Durée du rendez-vous : ");
    		while (this.duree <= 0)
    		{
    			System.out.println("ERREUR : la durée d'un rendez-vous est forcément supérieure à 0 !");
    			this.duree = Lire.jdouble("Durée du rendez-vous : ");
    		}
    	}
     
    	public String toString()
    	{
    		return "RENDEZ-VOUS COURANT\nDate : " + this.date + "\nDescriptif : " + this.descriptif + "\nDurée : " + this.duree + "\n";
    	}
    }
    classe main :
    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
    System.out.println("ECRITURE DES RENDEZ-VOUS");
    		for (int i = 0; i < rdvs.size(); i++)
    		{
    			int reponse;
    			System.out.println("1 : Nouveau rendez-vous");
    			System.out.println("2 : Modification d'un rendez-vous");
    			System.out.println("3 : Fermeture de l'agenda");
    			reponse = Lire.jint("Choisissez une étape par son numéro : ");
    			switch(reponse) {
    				case 1:
    					RendezVous r = new RendezVous();
    					a1.ajouterRendezVous(r);
    					break;
    				case 2:
    					int choix;
    					System.out.println("1 : Modifier la date du rendez-vous");
    					System.out.println("2 : Modifier le descriptif du rendez-vous");
    					System.out.println("3 : Modifier la durée du rendez-vous");
    					choix = Lire.jint("Votre choix : ");
    					switch(choix) {
    						case 1:
    							RendezVous.changeDate(rdvs.get(i));
    							break;
    						case 2:
    							RendezVous.changeDescriptif(rdvs.get(i));
    							break;
    						case 3:
    							RendezVous.changeDuree(rdvs.get(i));
    							break;
    						default:
    							System.out.println("ERREUR ! Que modifier ?");
    						}
    				case 3:
    					System.out.println("Agenda refermé !");
    					break;
    				default:
    					System.out.println("ERREUR ! Mauvaise réponse !");
    				}
    			}

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Je soupçonne un petit problème de conception.

    Ta classe RendezVous étends la classe Agenda.
    Or, je verrai plutot une classe Agenda qui contient des RendezVous.

    De plus tu devrais séparer les entités et leur traitement dans des classes Différentes, Ex :

    Ton entité Agenda
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Personne{
            private String nom;
    	private String prenom;
     
    }
    Ton entité Agenda
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Agenda{
            private Personne personne;
    	private List<RendezVous> rendezVous;
     
    }
    Ton entité rendez vous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class RendezVous {
    	private Date date;
    	private String descriptif;
    	private double duree; // en heures
    }
    Ton de contrôle des rendez vous : dans ces méthodes il faut que tu modifie le rendezVous passé en paramètre, dans ta version tu modifiais l'objet dans lequel tu te trouve, d'où ton impossibilité de mettre les opérations en static.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class RendezVousCtrl {
    	public void changeDate(RendezVous rendezVousConcerne)
     
     	public void changeDescriptif(RendezVous rendezVousConcerne)
     
     	public void changeDuree(RendezVous rendezVousConcerne)
     
     	public void init(RendezVous rendezVousConcerne)
    }

Discussions similaires

  1. quel outil choisir pour une application: gestion d'un centre de formation
    Par timaa dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 20/03/2008, 09h29
  2. gestion d'agenda dans access
    Par pkrvz dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/02/2008, 16h34
  3. Créer une application gestion consultants / missions
    Par mpereg dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/10/2007, 15h02
  4. Gestions calendrier/agenda, rendez-vous, etc
    Par clincks dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 10/03/2007, 13h12
  5. Recherche application gestion hopital/centre de soin ?
    Par ludophil dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 15/11/2006, 12h13

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