String[][] arr = new String[n][]; // create n references to String[] for(int i=0 ; i < n ; i++) arr = new String[m]; // create an array of m string refs
מה שקורה פה הוא: 1. מצהירים על מערך דו מימדי של רפרנסים למחרוזות. 2. מייצרים ע"י new אובייקט מערך דו מימדי שמכיל n רפרנסים למערכים של מחרוזות. 3. רצים בלולאה ומקצים n פעמים אובייקטי מערך של String עבור כל רפרנס. כל אובייקט מערך מכיל m רפרנסים למחרוזת. הבעיה שלך הייתה שלא איתחלת את המימד הנכון.