Как правильно заполнить многомеремный массив?
Не поняла почему при объявлении массива ты указываешь его размер как [size-1][size-1], тебе нужен массив 6x6  или 7x7? В моем примере будет 7x7. В качестве переменных String не нужен, тебе же всего один символ нужен, поэтому лучше использовать сhar
Заполняем:
char[][] array = new char[size][size];
        char tic = 'x';
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                if (j == i || j == array.length - 1 - i)
                    array[i][j] = tic;
            }
        }

Выводим на экран в виде матрицы:
for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j] + " ");
            }
            System.out.println();
        }
В двумерном массиве "Х" - это две большие диагонали. Их заполнить можно без вложенных циклов:

public void fillX(String[][] array) {
  for (int i=1; i<size; i++) {
    array[i][i] = "x" // главная диагональ
    array[i][size-i] = "x" // побочная диагональ
  }
}
Привыкай использовать методы, пригодится уже довольно скоро.

С выводом все просто: используем во вложенном цикле print, чтобы не было перехода на новую строку, и println без параметров для начала новой строки во внешнем цикле.  
Я намеренно не пишу код, а описываю его словами, чтобы у тебя была возможность написать самому и потренироваться.