Эта часть кода будет сниться в кошмарах java кодеров :> Как это оптимизировать или сократить? Или есть другие варианты получения строки диагонали справа вниз с учётом границ для непересечения диагоналей? Помогите пожалуйста разобраться! Вот часть этого кода: //##################################################################################### String diagOne = ""; for (int k = height; k >= -height; k--) { String diag = ""; for (int j = 0; j < length - k; j++) { int i = k + j; if (i > length || i > height || i < 0) break; if (i < height && j < length && i >= 0 && j >= 0) { diagOne += chCrossword[j][i]; diag += chCrossword[i][j]; } } if (k != 0) diagOne += diag; diag = ""; } diagOne = diagOne.replaceAll(brd + brd + brd, brd); diagOne = diagOne.replaceAll(brd + brd, brd); diagOne = diagOne.replaceAll(brd, endSymb); diagOne = diagOne.substring(1, diagOne.lastIndexOf(endSymb)); //#####################################################################################