Rok przestępny - kalendarz

0

Witam, mam za zadanie napisać program który oblicza dni które upłynęły od podanych dat uwzględniając lata przestępne
for (int i = r+1; i==r2;i++) { if((i%4==0 && i%100!=0) || (i%400 == 0)) { jj++; } }
gdzie r = jest to pierwszy podany rok, r2=drugi podany rok, if sprawdza lata przestępne..
Problem polega na tym że sam jj nie zwiększa mi z się wraz ze seplenieniem warunku np dla 01.01.2003 - 01.01.2005
Jakieś sugestie?
Z góry dziękuje :)

0

Java ma jakieś biblioteki do obsługi kalendarza, za pomocą których zrobienie tego jest proste.
Nawet jeśli masz to zrobić sam (sam obliczać), to i tak zacznij od bibliotek, by mieć czy wzorzec porwanych danych wyjściowych ( i nauczyć się czegoś praktycznego, bo w pracy nigdy nie będziesz liczy tego sam tylko używał biblioteki).

0

@MarekR22: Wiem że istnieją biblioteki lecz używać ich nie mogę. Wiem również jak ma to działać bo mam program w 90% zrobiony.. Co do pracy moje pytanie było zupełnie inne :)

1

Czemu Masz tam i==r2? Po uporządkowaniu, wydaje się że poprawnie rozpoznaje 2004:

public class Main {
    static boolean  przestepny(int rok){
        return (rok % 4 == 0 && rok % 100 != 0 || rok % 400 == 0);
    }
    public static void main(String[] args) {
        int r = 2003;
        int r2 = 2005;
        int jj = 0;
        for (int i = r+1; i <= r2;i++) {
            if(przestepny(i)) {
                jj++; 
                System.out.println(i);
            }
        }
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1