Java - wievielter Tag im Jahr berechnen?

Hallo, ich habe folgende Aufgabenstellung: Schreiben Sie ein Programm, das für ein gegebenes Datum bestehend aus Tag, Monat und Jahr ausrechnet, um den wievielten Tag im Jahr es sich handelt. (Achtung: Schaltjahrproblematik nicht vergessen.)

Mein Code:

import java.util.Scanner;
public class TagImJahr
{
    public static void main(String[] args)
    {
        Scanner read = new Scanner(System.in);

        int tag, monat, jahr, anzahlTage, wievielterTag, monatTag;
        boolean Schaltjahr;

        System.out.println("Geben Sie einen Tag ein: ");
        tag = read.nextInt();

        System.out.println("Geben Sie einen Monat ein: ");
        monat = read.nextInt();

        System.out.println("Geben Sie ein Jahr ein: ");
        jahr = read.nextInt();

        Schaltjahr = (jahr%4 == 0) && (jahr%100 != 0) || (jahr%400 == 0);

        if(Schaltjahr && monat == 2)
        {
            anzahlTage = 366;                                       //Anzahl der Tage im Jahr
            monatTag = 29;                                          //Tage im Monat
        }
        else
        {
            anzahlTage = 365;                                       //Anzahl der Tage im Jahr
            monatTag = 31;                                          //Tage im Monat
        }

        int datum = anzahlTage + (monat * monatTag - monatTag) + tag;

        wievielterTag = datum - anzahlTage;

        System.out.println("Der " + tag + "." + monat + "." + jahr + " ist der " + wievielterTag + ". Tag im Jahr");
    }
}

Jedoch fehlt bei mir irgendwas, evtl. das manche Monate 31 und 30 Tage haben, wie baue ich dies jedoch am Besten ein? Bei ein paar Datumseingaben kommt das richtige Ergebnis, bei anderen weichen die Tage um paar Zahlen ab.

Kann mir bitte jemand weiterhelfen?

Studium, programmieren, Java
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.