Being a Jewish calendar I would expect it to begin at nightfall. However, from looking at the code it seems that it always uses the regular Calendar date, which begins at midnight. This can result in incorrect results.
Consider the following:
JewishCalendar jcal = new JewishCalendar();
if (jcal.isAssurBemelacha())
System.out.print("Please don't use on Shabbat or Jewish Holidays");
This would consider even after nightfall on Saturday as if it is Shabbat (and therefore isAssurBemelacha() would evaluate to true), while it should not consider it to be Shabbat (and isAssurBemelacha() should evaluate to false).
Being a Jewish calendar I would expect it to begin at nightfall. However, from looking at the code it seems that it always uses the regular Calendar date, which begins at midnight. This can result in incorrect results.
Consider the following:
This would consider even after nightfall on Saturday as if it is Shabbat (and therefore
isAssurBemelacha()would evaluate totrue), while it should not consider it to be Shabbat (andisAssurBemelacha()should evaluate tofalse).