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
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);
}
}
}
}