Here is my code public class CalendarAssignment Error to
Here is my code:
public class CalendarAssignment {
    /**
    * Error to output if year is not positive
    */
    static final String E_YEAR = \"The year must be positive!\";
   /**
    * Error to output if the day is not between 0 and 6
    */
    static final String E_DAY = \"The day of January 1st must be between 0 and 6!\";
   /**
    * Determines if an input is a leap year
    *
    * @param year
    * year in question
    * @ereturn true if a leap year
    */
    public static boolean isLeapYear( int year ) {
        boolean leapyear = false;
        if ( year % 4 == 0 ) {
            if ( year % 100 == 0 ) {
                if ( year % 400 == 0 ) {
                    return !leapyear;
                };
            } else {
                return !leapyear;
            }
        }
        return leapyear; // TODO: replace with your code
    }
   /**
    * Outputs a month to the console
    *
    * @param month
    * title
    * @param startDay
    * 0=Sunday ... 6=Saturday
    * @param numDays
    * number of days in the month
    * @return day of the week of the last day of the month
    */
   
    public static int printMonth( String month, int startDay, int numDays ) {
        System.out.println( month );
        int nextLine = 1;
        for (int j = numDays, s = 1; j > 0; ) {
            if (startDay >= 1 ) {
                for ( int i = 0; i < startDay; i++ ) {
                    System.out.print(\" \");
                    nextLine++;
                }
                startDay = 0;
            } else {
                if ( s < 10 )
                    System.out.print( \" \" + s );
                if ( s >= 10 )
                    System.out.print( \" \" + s );
                nextLine++;
                j--;
                s++;
            }
            if (nextLine > 7) {
                System.out.println( \"\" );
                nextLine = 1;
        }
    }
        return nextLine-1;
    }
   
    /**
    * Program execution point: input year, day of the week (0-6) of january 1
    * output calendar for that year
    *
    * @param args
    * command-line arguments (ignored)
    */
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
System.out.print(\"Enter the year: \");
int year = input.nextInt();
System.out.print(\"Enter the day of the week of January 1st (0=Sunday, 1=Monday, ... 6=Saturday): \");
int firstDay = input.nextInt();
if (year<=0) {
System.out.println(\"The year must be positive!\");
System.exit(0);
}
if (firstDay<0 || firstDay>6) {
System.out.println(\"The day of January 1st must be between 0 and 6!\");
System.exit(0);
}
int numFebDays;
if (isLeapYear(year)) {
numFebDays = 29;
} else {
numFebDays = 28;
}
int lastDayOfWeek;
       lastDayOfWeek = printMonth(\"January\", firstDay, 31);
        System.out.println();
       lastDayOfWeek = printMonth(\"February\", lastDayOfWeek, numFebDays);
        System.out.println();
       lastDayOfWeek = printMonth(\"March\", lastDayOfWeek, 31);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"April\", lastDayOfWeek, 30);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"May\", lastDayOfWeek, 31);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"June\", lastDayOfWeek, 30);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"July\", lastDayOfWeek, 31);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"August\", lastDayOfWeek, 31);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"September\", lastDayOfWeek, 30);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"October\", lastDayOfWeek, 31);
        System.out.println();
       lastDayOfWeek = printMonth(\"November\", lastDayOfWeek, 30);
        System.out.println();
        System.out.println();
       lastDayOfWeek = printMonth(\"December\", lastDayOfWeek, 31);
        System.out.println();
        System.out.println();
 }
 }
 
 Any help would be greatly appreciated. Thanks!!
Solution
package org.students;
import java.util.Scanner;
import com.sun.org.apache.bcel.internal.generic.IUSHR;
public class Calander {
    //declaring static variables
    static final String E_YEAR = \"The year must be positive!\";
    static final String E_DAY = \"The day of January 1st must be between 0 and 6!\";
   public static void main(String[] args) {
       
        //Declaring variables
        int getFirstDay;
        int year;
        Scanner scanner = new Scanner(System.in);
       //This while loop continue to execute until user enters valid year
        while (true) {
           
            //Getting the year entered by the user
            System.out.print(\"Enter the year: \");
           year = scanner.nextInt();
            if (year < 0) {
                System.out.println(E_YEAR);
            } else
                break;
        }
       //This loop continue to execute until user enters valid first day of the month
        while (true) {
           //Getting the first day entered by the user
            System.out.print(\"Enter 1st day of year ( 0 = Sunday, 6 = Satuday ): \");
           getFirstDay = scanner.nextInt();
           
            //Checking whether the first day is within valid range or not
            if (getFirstDay < 0 || getFirstDay > 6) {
                System.out.println(E_DAY);
                continue;
            } else
                break;
        }
for (int month = 1; month <= 12; month++) {
int days = 0;
String monthName = \" \";
switch (month) {
           case 1:
                monthName = \"January\";
days = 31;
break;
           case 2:
                monthName = \"February\";
if (isLeapYear(year)) {
days = 29;
} else {
days = 28;
}
break;
           case 3:
                monthName = \"March\";
days = 31;
break;
           case 4:
                monthName = \"April\";
days = 30;
break;
           case 5:
                monthName = \"May\";
days = 31;
break;
           case 6:
                monthName = \"June\";
days = 30;
break;
           case 7:
                monthName = \"July\";
days = 31;
break;
           case 8:
                monthName = \"August\";
days = 31;
break;
           case 9:
                monthName = \"September\";
days = 30;
break;
           case 10:
                monthName = \"October\";
days = 31;
break;
           case 11:
                monthName = \"November\";
days = 30;
break;
           case 12:
                monthName = \"December\";
days = 31;
break;
           default:
                System.out.print(\"Invalid Month.\");
                System.exit(0);
break;
}
System.out.println(\" \" + monthName + \" \" + year);
int i = 0;
int firstDay = 0;
switch (month) {
           case 1:
                firstDay = getFirstDay;
break;
           case 2:
                firstDay = getFirstDay + 3;
break;
           case 3:
                firstDay = getFirstDay + 3;
break;
           case 4:
                firstDay = getFirstDay + 6;
break;
           case 5:
                firstDay = getFirstDay + 8;
break;
           case 6:
                firstDay = getFirstDay + 11;
break;
           case 7:
                firstDay = getFirstDay + 13;
break;
           case 8:
                firstDay = getFirstDay + 16;
break;
           case 9:
                firstDay = getFirstDay + 19;
break;
           case 10:
                firstDay = getFirstDay + 21;
break;
           case 11:
                firstDay = getFirstDay + 24;
break;
           case 12:
                firstDay = getFirstDay + 26;
break;
}
if (isLeapYear(year)) {
switch (month) {
               case 1:
                    firstDay = getFirstDay;
break;
               case 2:
                    firstDay = getFirstDay + 3;
break;
               case 3:
                    firstDay = getFirstDay + 4;
break;
               case 4:
                    firstDay = getFirstDay + 7;
break;
               case 5:
                    firstDay = getFirstDay + 9;
break;
               case 6:
                    firstDay = getFirstDay + 12;
break;
               case 7:
                    firstDay = getFirstDay + 14;
break;
               case 8:
                    firstDay = getFirstDay + 17;
break;
               case 9:
                    firstDay = getFirstDay + 20;
break;
               case 10:
                    firstDay = getFirstDay + 22;
break;
               case 11:
                    firstDay = getFirstDay + 25;
break;
               case 12:
                    firstDay = getFirstDay + 27;
break;
}
}
printMonth(month, firstDay, days);
System.out.println();
}
}
   //This method checks whether the year is leap year or not
    private static boolean isLeapYear(int year) {
        boolean bool = false;
        if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
            bool = true;
        else
            bool = false;
       return bool;
    }
   //This method will display the month
    public static void printMonth(int month, int startDay, int numDays) {
        int dayOfWeek = 0;
        System.out.println(\"_______________________________\");
        System.out.println(\" Sun Mon Tue Wed Thu Fri Sat\");
        if ((startDay % 7) >= 0) {
if ((startDay % 7) == 0) {
dayOfWeek = 0;
} else if ((startDay % 7) == 1) {
dayOfWeek = 1;
System.out.print(\" \");
} else if ((startDay % 7) == 2) {
dayOfWeek = 2;
System.out.print(\"\\t \");
} else if ((startDay % 7) == 3) {
dayOfWeek = 3;
System.out.print(\"\\t\\t \");
} else if ((startDay % 7) == 4) {
dayOfWeek = 4;
System.out.print(\"\\t\\t\\t\");
} else if ((startDay % 7) == 5) {
dayOfWeek = 5;
System.out.print(\"\\t\\t\\t \");
} else if ((startDay % 7) == 6) {
dayOfWeek = 6;
System.out.print(\"\\t\\t\\t\\t \");
           }
        }
        for (int i = 1; i <= numDays; i++) {
if (i < 10)
System.out.print(\" \" + i);
else
System.out.print(\" \" + i);
if ((i + startDay) % 7 == 0)
System.out.println();
       }
       
    }
 }
_________________________________
Output:
Enter the year: 2016
 Enter 1st day of year ( 0 = Sunday, 6 = Satuday ): 5
 January 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
            1 2
 3 4 5 6 7 8 9
 10 11 12 13 14 15 16
 17 18 19 20 21 22 23
 24 25 26 27 28 29 30
 31
 February 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
 1 2 3 4 5 6
 7 8 9 10 11 12 13
 14 15 16 17 18 19 20
 21 22 23 24 25 26 27
 28 29
 March 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
 6 7 8 9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 29 30 31
 April 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
            1 2
 3 4 5 6 7 8 9
 10 11 12 13 14 15 16
 17 18 19 20 21 22 23
 24 25 26 27 28 29 30
May 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
 1 2 3 4 5 6 7
 8 9 10 11 12 13 14
 15 16 17 18 19 20 21
 22 23 24 25 26 27 28
 29 30 31
 June 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
        1 2 3 4
 5 6 7 8 9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30
 July 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
            1 2
 3 4 5 6 7 8 9
 10 11 12 13 14 15 16
 17 18 19 20 21 22 23
 24 25 26 27 28 29 30
 31
 August 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
 1 2 3 4 5 6
 7 8 9 10 11 12 13
 14 15 16 17 18 19 20
 21 22 23 24 25 26 27
 28 29 30 31
 September 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
            1 2 3
 4 5 6 7 8 9 10
 11 12 13 14 15 16 17
 18 19 20 21 22 23 24
 25 26 27 28 29 30
 October 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
                1
 2 3 4 5 6 7 8
 9 10 11 12 13 14 15
 16 17 18 19 20 21 22
 23 24 25 26 27 28 29
 30 31
 November 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
 6 7 8 9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 29 30
 December 2016
 _______________________________
 Sun Mon Tue Wed Thu Fri Sat
            1 2 3
 4 5 6 7 8 9 10
 11 12 13 14 15 16 17
 18 19 20 21 22 23 24
 25 26 27 28 29 30 31
_________________Thank You











