Results 1 to 3 of 3
  1. #1
    lledo3 is offline Member
    Join Date
    Jan 2011
    Posts
    3
    Rep Power
    0

    Default Help on this PROGRAM!!!!

    I can't create any new methods just fix the logic error in the method it appears in...I know it needs an if/else statement but I can't figure out how to start it...:confused::confused::confused::confused:

    import java.util.Scanner;

    public class Lab1 {
    /** Main method */
    public static void main(String[] args) {
    // Prompt the user to enter year
    Scanner input = new Scanner(System.in);

    // Prompt the user to enter year
    System.out.print("Enter full year (e.g., 2001): ");
    int year = input.nextInt();

    // Prompt the user to enter month
    System.out.print("Enter month in number between 1 and 12: ");
    int month = input.nextInt();


    // Print calendar for the month of the year
    printMonth(year, month);
    }

    /** Print the calendar for a month in a year */
    static void printMonth(int year, int month) {
    // Print the headings of the calendar
    printMonthTitle(year, month);

    // Print the body of the calendar
    printMonthBody(year, month);
    }

    /** Print the month title, e.g., May, 1999 */
    static void printMonthTitle(int year, int month) {
    System.out.println(" " + getMonthName(month)
    + " " + year);
    System.out.println("-----------------------------");
    System.out.println(" Sun Mon Tue Wed Thu Fri Sat");
    }

    /** Get the English name for the month */
    static String getMonthName(int month) {
    String monthName = null;
    switch (month) {
    case 1: monthName = "January"; break;
    case 2: monthName = "February"; break;
    case 3: monthName = "March"; break;
    case 4: monthName = "April"; break;
    case 5: monthName = "May"; break;
    case 6: monthName = "June"; break;
    case 7: monthName = "July"; break;
    case 8: monthName = "August"; break;
    case 9: monthName = "September"; break;
    case 10: monthName = "October"; break;
    case 11: monthName = "November"; break;
    case 12: monthName = "December";
    }

    return monthName;
    }

    /** Print month body */
    static void printMonthBody(int year, int month) {
    // Get start day of the week for the first date in the month
    int startDay = getStartDay(year, month);

    // Get number of days in the month
    int numberOfDaysInMonth = getNumberOfDaysInMonth(year, month);

    // Pad space before the first day of the month
    int i = 0;
    for (i = 0; i < startDay; i++)
    System.out.print(" ");

    for (i = 1; i <= numberOfDaysInMonth; i++) {
    if (i < 10)
    System.out.print(" " + i);
    else
    System.out.print(" " + i);

    if ((i + startDay) % 7 == 0)
    System.out.println();
    }

    System.out.println();
    }

    /** Get the start day of month/1/year */
    static int getStartDay(int year, int month) {
    return getDayofWeek(year, month, 1);
    }

    public static int getDayofWeek(int year, int month, int dayOfMonth) {
    if (month == 1) {
    month = 13;
    year--;
    }
    else if (month == 2) {
    month = 14;
    year--;
    }


    int k = year % 100;
    int j = (int)(year / 100);

    int dayOfWeek = (int)(dayOfMonth + (int)((month + 1) * 26.0 / 10)
    + k + (int)(k / 4.0) + (int)(j / 4.0) + 5 * j) % 7;

    return (dayOfWeek + 6) % 7;
    }

    /** Get the number of days in a month */
    static int getNumberOfDaysInMonth(int year, int month) {
    if (month == 1 || month == 3 || month == 5 || month == 7 ||
    month == 8 || month == 10 || month == 12)
    return 31;

    if (month == 4 || month == 6 || month == 9 || month == 11)
    return 30;

    if (month == 2) return 28;




    return 0; // If month is incorrect

    }

    }

  2. #2
    lledo3 is offline Member
    Join Date
    Jan 2011
    Posts
    3
    Rep Power
    0

    Default

    By the way when you input 2012 and month 2, it should be a leap year but it is not computing a leap year...

  3. #3
    lledo3 is offline Member
    Join Date
    Jan 2011
    Posts
    3
    Rep Power
    0

Similar Threads

  1. changing my program to array working program
    By Chewart in forum New To Java
    Replies: 39
    Last Post: 11-18-2009, 07:53 PM
  2. Execute A program from a Program!
    By Moncleared in forum Advanced Java
    Replies: 2
    Last Post: 02-22-2009, 05:17 PM
  3. Executing a program within a program
    By gibsonrocker800 in forum New To Java
    Replies: 5
    Last Post: 05-12-2008, 09:24 AM
  4. Replies: 0
    Last Post: 04-04-2008, 03:40 PM
  5. Replies: 0
    Last Post: 10-04-2007, 10:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •