Results 1 to 7 of 7

Thread: Help needed

  1. #1
    kenson02 is offline Member
    Join Date
    Dec 2011
    Posts
    8
    Rep Power
    0

    Default Help needed

    I'm writing a class to output month and day using JOptionpane. my problem is that i cannot invoke the right code from calendar.java to complete the class... I'll show you how far i got by pasting the codes. if the calendar class is also needed let me know to insert it.

    import javax.swing.JOptionPane;

    public class OptionalLab {

    /** Main method */
    public static void main(String[] args) {

    String output = "";


    // Prompt the user to enter year
    String yearString = JOptionPane.showInputDialog(null,
    "Enter full year (i.e. 2001):",
    "Enter Year", JOptionPane.QUESTION_MESSAGE);

    Integer.parseInt(yearString);

    // Prompt the user to enter month
    String monthString = JOptionPane.showInputDialog(null,
    "Enter month in number between 1 and 12:",
    "Enter Month", JOptionPane.QUESTION_MESSAGE);

    Integer.parseInt(monthString);

    // invoke method here

    JOptionPane.showMessageDialog(null, output);

    }
    }

    you know
    here is the calendar class
    public class Calendar {
    /** Print the calendar for a month in a year */
    private String output = new String();


    public String getOutput(){
    return output;
    }

    Calendar(int year, int month){
    printMonth(year, month);
    }

    private void printMonth(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 numOfDaysInMonth = getNumOfDaysInMonth(year, month);

    // Print headings
    printMonthTitle(year, month);

    // Print body
    printMonthBody(startDay, numOfDaysInMonth);
    }

    /** Get the start day of the first day in a month */
    private int getStartDay(int year, int month) {
    // Get total number of days since 1/1/1800
    int startDay1800 = 3;
    long totalNumOfDays = getTotalNumOfDays(year, month);

    // Return the start day
    return (int)((totalNumOfDays + startDay1800) % 7);
    }

    /** Get the total number of days since Jan 1, 1800 */
    private long getTotalNumOfDays(int year, int month) {
    long total = 0;

    // Get the total days from 1800 to year -1
    for (int i = 1800; i < year; i++)
    if (isLeapYear(i))
    total = total + 366;
    else
    total = total + 365;

    // Add days from Jan to the month prior to the calendar month
    for (int i = 1; i < month; i++)
    total = total + getNumOfDaysInMonth(year, i);

    return total;
    }

    /** Get the number of days in a month */
    private int getNumOfDaysInMonth(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)
    if (isLeapYear(year))
    return 29;
    else
    return 28;

    return 0; // If month is incorrect.
    }

    /** Determine if it is a leap year */
    private boolean isLeapYear(int year) {
    if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
    return true;

    return false;
    }

    /** Print month body */
    private void printMonthBody(int startDay, int numOfDaysInMonth) {
    // Pad space before the first day of the month
    int i = 0;
    for (i = 0; i < startDay; i++)
    output += " ";

    for (i = 1; i <= numOfDaysInMonth; i++) {
    if (i < 10)
    output += " " + i;
    else
    output += " " + i;

    if ((i + startDay) % 7 == 0)
    output += "\n";
    }

    output += "\n";
    }

    /** Print the month title, i.e. May, 1999 */
    private void printMonthTitle(int year, int month) {
    output += " " + getMonthName(month)
    + ", " + year + "\n";
    output += "-----------------------------------------------\n";
    output += " Sun Mon Tue Wed Thu Fri Sat\n";
    }

    /** Get the English name for the month */
    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;
    }
    }

  2. #2
    al_Marshy_1981 is offline Senior Member
    Join Date
    Feb 2010
    Location
    Waterford, Ireland
    Posts
    748
    Rep Power
    5

    Default Re: Help needed

    Do you have a specific question that is related to some part of this code?

  3. #3
    kenson02 is offline Member
    Join Date
    Dec 2011
    Posts
    8
    Rep Power
    0

    Default Re: Help needed

    I need to add a few lines of codes on the optional class to invoke methods from the calendar class, so that i can have and output for the days of any month.. I just need some help to get started.. can you help me?

  4. #4
    al_Marshy_1981 is offline Senior Member
    Join Date
    Feb 2010
    Location
    Waterford, Ireland
    Posts
    748
    Rep Power
    5

    Default Re: Help needed

    You will need a Calendar object in the main method. Do you know how to create an object of a class?

  5. #5
    kenson02 is offline Member
    Join Date
    Dec 2011
    Posts
    8
    Rep Power
    0

    Default Re: Help needed

    In this case no because the constructors are private.. and it's my first time dealing with JOptionpane. I'm confused!

  6. #6
    al_Marshy_1981 is offline Senior Member
    Join Date
    Feb 2010
    Location
    Waterford, Ireland
    Posts
    748
    Rep Power
    5

    Default Re: Help needed

    Is there any special reason why all your Calendar methods are private?

  7. #7
    kenson02 is offline Member
    Join Date
    Dec 2011
    Posts
    8
    Rep Power
    0

    Default Re: Help needed

    The calendar class was provided to me.. i have to come up with the optional class, which includes invoking methods from Calendar class.

Similar Threads

  1. Help needed
    By radhi16 in forum New To Java
    Replies: 4
    Last Post: 01-20-2011, 01:09 AM
  2. Help needed!
    By decoy in forum New To Java
    Replies: 2
    Last Post: 10-06-2010, 01:14 PM
  3. Help Needed
    By 7auz in forum Eclipse
    Replies: 1
    Last Post: 09-30-2010, 05:59 PM
  4. help needed
    By amarchandar in forum New To Java
    Replies: 3
    Last Post: 02-17-2009, 01:59 PM
  5. Help Needed
    By pks in forum New To Java
    Replies: 1
    Last Post: 01-09-2008, 12:07 AM

Posting Permissions

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