HTML and CSS Reference
In-Depth Information
To translate these rules into our calendar app, we need to nest one
if
statement
inside of another. The general structure of this nested
if
statement is as follows:
if (thisYear % 4 == 0) {
further test for century years
}
The nested
if
statement needs to add two more conditions: (1) the year is not divisible
by 100, and (2) the year is divisible by 400. The expressions for these two conditions are
as follows:
thisYear % 100 != 0
thisYear % 400 == 0
If either of those two conditions is
true
for a year evenly divisible by 4, then the year is a
leap year. Note that you will use the
not equal to
operator (
!=
) to test for an inequal-
ity in the first expression. You'll then combine these two expressions into a single expres-
sion using the
or
operator (
||
), as follows:
(thisYear % 100 != 0) || (thisYear % 400 == 0)
Finally, you'll nest this conditional expression as follows:
if (thisYear % 4 == 0) {
if ((thisYear % 100 != 0) || (thisYear % 400 == 0)) {
dayCount[1] = 29;
}
}
Under this set of nested
if
statements, the number of days in February is 29 only if the
thisYear
variable is divisible by 4, and then only if it also is divisible by 400 or not divis-
ible by 100. Take some time to compare this set of nested
if
statements with the chart
shown in Figure 12-21 to confirm that it satisfies all possible conditions for leap years.
After incorporating this set of nested
if
statements, the daysInMonth() function returns
the number of days for any month in any given year.
To complete the daysInMonth() function:
◗
1.
Within the
if
statement you entered in the last set of steps, delete the statement
dayCount[1] = 29
.
◗
2.
Replace the statement you just deleted with the following nested
if
statement:
if ((thisYear % 100 != 0) || (thisYear % 400 == 0)) {
dayCount[1] = 29;
}
Figure 12-22 highlights the newly inserted nested
if
statement.