Créer une classe représentant une date?
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Créer une classe représentant une date?



  1. #1
    Christina1414

    Créer une classe représentant une date?


    ------

    Bonsoir
    J'ai un exercice en Java le but est de créer une classe représentant une date qui doit contenir : le jour, le mois et l'année. J'ai écris un constructeur qui recoit un jour un mois et une année, un autre de copie,une méthode pour faire l'égalité entre deux méthodes et une méthode d'affichage sous la forme: jj/mm/aaaa et une méthode qui saisie que la date est toujours valide(mois entre 1 et 12, année positive..)
    J'ai déja tout écrit, mais ils ont demandés de rédiger encore une méthode qui retourne la date de demain( jour aprè la date introduite) donc on doit prendre en considération si le mois a 31, 30 ou 29 jours, si l'anné est bissextile. On peut utiliser if et l'introduire dans des méthodes ou faire le tableau. Mais je n'arrive pas a savoire comment faire le lien entre la création du tableau et mon but de cette méthode. Merci d'avance!!

    -----

  2. #2
    Christina1414

    Re : Créer une classe représentant une date?

    ou 28 jours il n'y a pas 29 jours

  3. #3
    imoca

    Re : Créer une classe représentant une date?

    Bonjour,

    Code:
    public class main {
    
    	public static void main(String[] args) {
    		Date d=new Date(28,2,1661);
    		d.Affiche();
    		Date t=d.Demain();
    		t.Affiche();
    
    	}
    
    }
    Code:
    public class Date {
    	private int day;
    	private int month;
    	private int year;
    	
    	public Date(int d,int m,int y){
    		this.day=d;
    		this.month=m;
    		this.year=y;
    	}
    	
    	public void Affiche(){
    		
    		if (this.Valid()==1){
    			System.out.println(day+"/"+month+"/"+year);
    		}else{
    			System.out.println("La date n'est pas valide");
    		}
    	}
    	
    	public int IsBissextile(){
    		if(year%4==0 && year%100!=0){
    			return 1;
    		}
    		if(year%400==0){
    			return 1;
    		}
    		return 0;
    	}
    	
    	public int dayInmonth(){
    		int t[]={31,28,31,30,31,30,31,31,30,31,30,31};
    		t[1]=t[1]+this.IsBissextile();
    		return t[month-1];
    	}
    	
    	public int Valid(){
    		if(year<0){
    			return 0;
    		}
    		if (month<1 || month>12){
    			return 0;
    		}
    		int t[]={31,28,31,30,31,30,31,31,30,31,30,31};
    		t[1]=t[1]+this.IsBissextile();
    		if (day<1 || day>t[month-1]){
    			return 0;
    		}
    		return 1;
    	}
    	public Date Demain(){
    		if(month==12 && day==31){
    			Date d=new Date(1,1,year+1);
    			return d;
    		}
    		if(day==this.dayInmonth()){
    			Date d=new Date(1,month+1,year);
    			return d;
    		}
    		Date d=new Date(day+1,month,year);
    		return d;
    	}
    }

  4. #4
    Christina1414

    Re : Créer une classe représentant une date?

    Merci beaucoup!!!
    Mais j'ai une question.. t[1]=t[1]+this.IsBissextile(); vous l'avez utilisé deux fois mais je n'ai pas très bien compris le concept..

  5. A voir en vidéo sur Futura
  6. #5
    imoca

    Re : Créer une classe représentant une date?

    La méthode IsBiss... retourne 1 lors des années biss... et 0 sinon.
    Ainsi le mois de février est de 28 jours+(0 ou 1) selon que l'année est biss...

  7. #6
    pm42

    Re : Créer une classe représentant une date?

    Pourquoi renvoyer des int valant 0 ou 1 au lieu de boolean ?
    On n'est plus en train de faire du C dans les années 80.

Discussions similaires

  1. Créer une classe permettant de gérer les nombres complexes.
    Par Christina1414 dans le forum Programmation et langages, Algorithmique
    Réponses: 21
    Dernier message: 21/09/2015, 06h11
  2. Quantique: Matrice représentant une observable
    Par OmegaForce dans le forum Physique
    Réponses: 7
    Dernier message: 23/06/2015, 15h28
  3. créer un fichier porte comme nom la date et heure du jour sous matlab
    Par invite89001a33 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/06/2012, 10h04
  4. Je voudrais créer une classe Infobulle.
    Par invite5383b7f8 dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 04/10/2011, 01h27
  5. Courbe représentant une fonction
    Par invitee8e836ea dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 31/01/2008, 16h12