English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai a verificare se un anno è bisestile. Usa le istruzioni if else per farlo.
Un anno bisestile è divisibile per 4, ma non deve finire con 00. Gli anni secolari sono bisestili solo se divisibili per 400
public class LeapYear { public static void main(String[] args) { int year = 1900; boolean leap = false; if(year % 4 == 0) { if( year % 100 == 0) { // l'anno è divisibile per 400, quindi è un anno bisestile if ( year % 400 == 0) leap = true; else leap = false; } else leap = true; } else leap = false; if(leap) System.out.println(year + " è un anno bisestile."); else System.out.println(year + " non è un anno bisestile."); } }
Quando si esegue il programma, l'output è:
1900 non è un anno bisestile.
Quando si modifica il valore di year a 2012, l'output è:
2012 è un anno bisestile.
Nel programma sopra, l'anno 1900 è memorizzato nella variabile year.
Perché 1900 può essere diviso per 4 e è un anno secolare (con fine in 00), e un anno bisestile può essere diviso per 400. Poiché 1900 non può essere diviso per 400, 1900 non è un anno bisestile.
Ma se cambiamo year in 2000, può essere diviso per 4, è un anno secolare e può essere diviso per 400. Pertanto, 2000 è un anno bisestile.
Allo stesso modo, se modificiamo l'anno in 2012, può essere diviso per 4 e non è un anno secolare, quindi 2012 è un anno bisestile. Non dobbiamo controllare se 2012 può essere diviso per 400.