Ajout d'un anniversaire à ma classe d'employé java


Je suis sûr qu'à un moment donné, lorsque vous apprenez la programmation pour la première fois, nous créons une sorte de programme qui nous enseigne les interfaces, les résumés et le polymorphisme. Eh bien, c'est ce que j'essaie de faire maintenant.

Je code en Java et j'essaie de créer une classe d'employé abstraite. Je suis en cours d'exécution dans un petit problème avec elle cependant. Je veux ajouter un anniversaire à l'employé, mais je ne sais pas comment le faire avec calendar.

Je voudrais pouvoir stocker l'anniversaire comme Je voudrais le nom des employés c'est à dire public String employeeName;. Le créer en tant que variable me permettrait d'utiliser des getters et des setters dessus.

Le constructeur employé ressemblerait à ceci:

public Employee(String name, int idNumber, String Gender, 
    int year, int month, int day)

Pour résumer comment créer une variable d'anniversaire à l'aide d'un calendrier, et si je voulais obtenir la date d'anniversaire(quelle qu'elle soit), comment ferais-je cela? Merci.

Author: Bosko Mijin, 2013-02-09

5 answers

Peut-être est - ce une voie à suivre:

// declare  birthday as Date:

private Date birthday;

public Employee(String name, int idNumber, String gender, 
    int year, int month, int day) {

    this.name  = name;
    this.idNumber = idNumber;
    this.gender = gender;
    initBirthday(year, month, day);
}

private void initBirthday(int year, int month, int day) {
    // all int should be greater than 0 
    if (year > 0 && month > 0 && day > 0) {
        Calendar cal = Calendar.getInstance();
        cal.set(year, month-1 , day, 0, 0, 0);
// OR the explicit way 
 //           cal.set(Calendar.YEAR, year);
 //           cal.set(Calendar.MONTH, month - 1); // january == 0 !!!!
 //           cal.set(Calendar.DAY_OF_MONTH, day);
 //           cal.set(Calendar.HOUR,0);
 //           cal.set(Calendar.MINUTE,0);
 //           cal.set(Calendar.SECOND,0);
            birthday = cal.getTime(); // this returns a Date
    } else {
       // set birthday to a default value...
    }
}
 2
Author: giulio, 2013-04-04 19:58:12

Au lieu d'avoir 3 variables différentes, vous devriez utiliser java.util.Date (obsolète) ou java.util.Calendrier.

 0
Author: CuriousMind, 2013-02-09 15:47:35

Date privée Date d'anniversaire ... getter serait juste Retourner birtdayDay OU date de naissance du calendrier privé et getter serait retirn birthdayDate.getDate()

 -1
Author: Michał Tabor, 2013-02-09 15:46:52

Vous pouvez utiliser java.util.Date. Donc, votre classe Employee ressemblera à ceci:

public class Employee {
  private Date Birthday;
  public Employe(Date birthday) {}
}

, C'est l'idée.

 -1
Author: Rubens Mariuzzo, 2013-02-09 15:47:31

Java fournit la classe Date disponible en java.util paquet, cette classe encapsule la date et l'heure actuelles.

Passe également le paramètre de Date de naissance dans le constructeur de Employee:

import java.util.*;


public Employee(String name, int idNumber, String Gender, 
    int year, int month, int day, Date dob)
 -2
Author: Muhammad Maqsoodur Rehman, 2013-02-09 15:48:45