• 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
  • paul wheaton
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

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: 22819
132
Eclipse IDE Spring 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.
 
You know it is dark times when the trees riot. I think this tiny ad is their leader:
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic