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

Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \
Here is my code: public class CalendarAssignment { /** * Error to output if year is not positive */ static final String E_YEAR = \

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site