Java : Date ( next day ) : <p>As part of a college assignment we were given a Date class and told to make some modifications. Stuck on the nextDay() method, and why it won't implement. I have a test class and understand how that works so its just that code snippet. Any help and/or explanations appreciated</p>

<pre><code>    public class Date
{
private int month; // 1-12
private int day; // 1-31 based on month
private int year; // any year

private static final int[] daysPerMonth = // days in each month
    { 0,31,28,31,30,31,30,31,31,30,31,30,31 };

//constructor: call checkMonth to confirm proper value for month
//call checkDay to confirm proper value for day
public Date( int theDay, int theMonth, int theYear )
{
    month = checkMonth( theMonth );//validate moth
    year = theYear; // could validate year
    day = checkDay( theDay ); //validate day

    System.out.printf(
        "Date object constructor for date %s\n", this );
}// end Date constructor

//method to return day
public int getDay()
{
    return day;
}// end method getDay

// method to return month
public int getMonth()
{
    return month;
}//end method getMonth

//method to get year
public int getYear()
{
    return year;
}//end method getYear

//utility method to confirm proper month value
private int checkMonth( int testMonth )
{
    if ( testMonth &gt; 0 &amp;&amp; testMonth &lt;= 12 ) //validate month
        return testMonth;
    else // month is invalid
        throw new IllegalArgumentException(" month must be 1-12" );
}// end method check month

// utilty method to confirm proper day value based on month and year
private int checkDay( int testDay )
{
    // check if day in range for month
    if ( testDay &gt; 0 &amp;&amp; testDay &lt;= daysPerMonth[ month ] )
        return testDay;

    if ( month == 2 &amp;&amp; testDay == 29 &amp;&amp; ( year % 400 == 0 ||
        ( year % 4 == 0 &amp;&amp; year % 100 != 0 ) ) )
        return testDay;

    throw new IllegalArgumentException(
        "day out of range for the specified month and year" );
}// end method check day

public String toString()
{ 
    return String.format( "%d-%d-%d", day, month, year );
}// end method toString

public void setDate ( int d, int m, int y )
{
    setDay( d );
    setMonth( m );
    setYear( y );

}

public void setDay( int d )
{
    // check if day in range for month
    if ( d &gt; 0 &amp;&amp; d &lt;= daysPerMonth[ month ] )
        day = d;

    if ( month == 2 &amp;&amp; d == 29 &amp;&amp; ( year % 400 == 0 ||
        ( year % 4 == 0 &amp;&amp; year % 100 != 0 ) ) )
        day = d;

    throw new IllegalArgumentException(
        "day out of range for the specified month and year" );

}

public void setMonth( int m )
{
    if ( m&gt; 0 &amp;&amp; m &lt;= 12 ) //validate month
        month = m;
    else // month is invalid
        throw new IllegalArgumentException(" month must be 1-12" );
}

public void setYear( int y )
{
    year = y;
}

public String toString2()
{
    return String.format( "%2d - %2d - %4d ", getDay(), getMonth(), getYear() );
}

public void nextDay()
{
    getDay();
    day = day++;
    return day;

    //if( d = daysPerMonth[ month ] )
      //  return day = 1 &amp;&amp; month++;

    //else if( m = 2 &amp;&amp; d = 28 )
       // return day++ &amp;&amp; m= 2;

    //else if( m = 12 &amp;&amp; d = 31 )
       // return m = 1 &amp;&amp; d = 1 ;

}
</code></pre>

<p>}</p>

<p>// end class date</p>
