Heim > Java > javaLernprogramm > Wie kann ich mit Java zuverlässig das Alter in Jahren berechnen?

Wie kann ich mit Java zuverlässig das Alter in Jahren berechnen?

DDD
Freigeben: 2024-12-18 11:16:11
Original
287 Leute haben es durchsucht

How Can I Reliably Calculate Age in Years Using Java?

Java-Methode zur Berechnung des Alters

Problem:

Entwickeln Sie eine Java-Methode, die ein Alter in Jahren als Ganzzahl zurückgibt . Die Methode benötigt ein Date-Objekt, das das Geburtsdatum darstellt.

Aktuelle Implementierung:

public int getAge() {
    long ageInMillis = new Date().getTime() - getBirthDate().getTime();

    Date age = new Date(ageInMillis);

    return age.getYear();
}
Nach dem Login kopieren

Einschränkungen:

  • getYear()-Methode ist veraltet.
  • Die Genauigkeit der aktuellen Methode ist ohne Einheit fraglich Tests.

Verbesserte Lösung mit JDK 8:

JDK 8 führt eine verfeinerte Lösung mit der LocalDate-Klasse ein:

public class AgeCalculator {

    public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {
        if ((birthDate != null) & (currentDate != null)) {
            return Period.between(birthDate, currentDate).getYears();
        } else {
            return 0;
        }
    }
}
Nach dem Login kopieren

JUnit Test:

public class AgeCalculatorTest {

    @Test
    public void testCalculateAge_Success() {
        // setup
        LocalDate birthDate = LocalDate.of(1961, 5, 17);
        // exercise
        int actual = AgeCalculator.calculateAge(birthDate, LocalDate.of(2016, 7, 12));
        // assert
        Assert.assertEquals(55, actual);
    }
}
Nach dem Login kopieren

Empfehlung:

Upgrade auf JDK 8 für eine verbesserte und zuverlässige Lösung zur Altersberechnung.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Java zuverlässig das Alter in Jahren berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage