У меня есть этот цикл while и for. Он делает именно то, что я хочу, печатая определенные части массива. Тем не менее, я продолжаю получать заявление за пределы. Я не могу понять. Я чувствую, что мой оператор if должен помешать индексу получить больше, чем он уже есть.Почему это дает мне эту ошибку arrayoutofbounds?
Примечание: У меня уже есть метод вне этого создания этого массива и инициализация его значений, поэтому притворяйтесь, что массив имеет два измерения.
Любые предложения, как я могу удержать его от выхода из пределов?
Цель состоит в том, чтобы колонка и строки увеличивались на единицу, пока они больше не могут увеличиваться.
int columnincrement = 0;
String spacing = "\t";
int diagcol=0;
int diagrow=0;
while(diagcol<themainarray[columnincrement].length)
{
System.out.println(spacing+themainarray[diagcol][diagrow]);
spacing+= "\t";
System.out.print("\n");
if (diagcol<=themainarray[columnincrement].length)
{
columnincrement++;
diagcol++;
diagrow++;
}
}
Рассмотрите возможность отладки проблемы. –
(И что такое сообщение об исключении?). Коэффициенты - это сообщение об исключении, которое точно указывает, что именно.) –
'Исключение в потоке" main "java.lang.ArrayIndexOutOfBoundsException: 3 \t at TwoDimensionalArray.mainDiagonal (TwoDimensionalArray.java: 162) \t at TwoDimensionalArray.main (TwoDimensionalArray.java:38)) ' – munchschair