Вы забыли создать массив перед инициализацией (я думаю, что вы получаете NullPointerException в вашем примере кода):
monthArray = new JSONObject[32][32];
Также, возможно, HashMap будет более полезен для этой задачи.
UPD Ops, и один вопрос, зачем вам двумерный массив? Я думаю, что одного измерения достаточно.
JSONObject monthArray = new JSONObject[32];
monthArray[theDate] = event
UPD2 И я рекомендую использовать Календарь вместо Date и SimpleDateFormat. Это более правильный путь, например:
Calendar c = Calendar.getCalendar();
c.setTimeInMillis(HttpDateParser.parse(date_full));
int theMonth = c.get(Calendar.MONTH);
int theYear = c.get(Calendar.YEAR);
int theDate = c.get(Calendar.DAY_OF_MONTH);
UPD3
Обновление после комментариев. Если за один день может произойти более одного события, вы должны использовать HashMap со списком, как я предлагал.
HashMap<Integer, List<JSONObject>> monthArray = new HashMap<Integer, List>();
...
if (...) {
...
List l = monthArray.get(theDate);
if (l == null) {
l = new LinkedList<JSONObject>();
}
l.add(event);
monthArray.put(theDate, l);
}