Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2013, 16:47   #1
Annushka19
Новичок
Джуниор
 
Аватар для Annushka19
 
Регистрация: 06.11.2013
Сообщений: 1
По умолчанию Сортировка двумерного массива. Не могу найти ошибку

Привет. Помогите найти ошибку. Задача такая: двумерный массив отсортировать по строкам, что бы в начале каждой строки стоял самый больший элемент. А то голова не варит. Идея выводит ошибку

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsExce ption: 8
at TR6.main(TR6.java:39)

Возле 39-й строки поставила смайлик(

Код:
import java.lang.Math;
import java.util.Arrays;

public class TR6 {
    public static void main(String[] args){

        int arr[][] = new int[8][8];



        int i;
        int j;
        int k;

        for(  i = 0; i < arr.length-1; i++){
            for(  j = 0; j < arr.length; j++){
             arr[i][j] = (int)(Math.random()* 9);
                System.out.print(arr[i][j] + "  ");
            }
            System.out.println( "  ");
        }
        System.out.println( "  ");
        System.out.println( "  ");


        for(k = arr.length-1; k > 0; k--){
            for( i =0;i<arr.length-1;i++){
                for( j=i+1;j<arr.length;j++){
                    if(arr[i][j ] < arr[i][j+1]){   :confused:
                    int tmp=arr[i][j];
                    arr[i][j]=arr[i][j+1];
                    arr[i][j+1]=tmp;
                    }
                }
            }
        }
        System.out.println();
        System.out.println(Arrays.toString(arr));
    }
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 06.11.2013 в 21:49.
Annushka19 вне форума Ответить с цитированием
Старый 06.11.2013, 22:51   #2
rublyabachka
Пользователь
 
Аватар для rublyabachka
 
Регистрация: 12.12.2011
Сообщений: 31
По умолчанию

j идет от 1 до конца массива
а вы в сравнении задаете j+1
это получается конец массива +1
вот он и выходит за массив =)
rublyabachka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку lg12 Помощь студентам 6 18.08.2009 18:26
Помогите найти ошибку! junkie Паскаль, Turbo Pascal, PascalABC.NET 2 03.05.2009 14:22