• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Liutauras Vilda
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
Bartenders:
  • Piet Souris
  • Mikalai Zaikin
  • Himai Minh

Using Calendar.getInstance();

 
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have this method that is supposed to display the day of week given the preferred month, day, and year. When I test this method I get the wrong day and if I try to enter a higher number for the day such as 17 I get an arrayIndexOutofBoundsException: 7. I'm using the gregorianCalendar. Am I not correctly using DAY_OF_WEEK?

 
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The method looks right. But that suggests that the day-of-week is 1-7. But you then use it as an array index, which needs to be 0-6.
 
Ranch Hand
Posts: 256
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
use getFirstDayOfWeek() and see what is the first day of the week. If this is not the first day according to your week then you can set it. And regarding the Exception you are maintaining an array so the indexes will be from 0 to 6, so use wkDay[weekday-1]. Constant field values for days
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
calendar.get(Calendar.DAY_OF_WEEK) returns a number between 1 and 7, where 1 is Sunday, 2 is Monday, etc., until 7 is Saturday.

If you use that number to index into an array, you probably have to subtract 1 from it:

 
Dustin Schreader
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Very cool, It works now and I only had to change weekday - 1! Thank you!
 
Sheriff
Posts: 22662
127
Eclipse IDE Spring VI Editor Chrome Java Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Actually, you should subtract Calendar.SUNDAY, as that's the offset. Calendar.SUNDAY just happens to be 1, but if you use this same technique for months (with Calendar.JANUARY being 0, go figure...) you won't end up in any problems.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic