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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2018, 11:33   #11
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

просто когда я начинаю индексацию с 0 то у меня заполняется ячейка [0;0] а мне нужно чтобы она не заполнялась и выводило исключение
Nastya2018 вне форума Ответить с цитированием
Старый 30.07.2018, 11:40   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Nastya2018 Посмотреть сообщение
а мне нужно чтобы она не заполнялась и выводило исключение
так я и не понял, почему тебе нужно, чтобы ячейка с нормальным индексом не заполнялась.
Но, если тебе нужен этот бред, то так и пиши:
Код:
    void put(int i, int j, int value) throws MatrixIndexException {
        if (i < 1 || i >= rowCount) {
            throw new MatrixIndexException("Недопустимый индекс строки: " + i);
        }
        if (j < 1 || j >= colCount) {
            throw new MatrixIndexException("Недопустимый индекс столбца: " + j);
        }
        data[i][j] = value;

    }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.07.2018, 11:42   #13
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

я так сделала)но все равно спасибо) просто еще мне сказали чтобы 100 на 100 ячейка заполнялась
Nastya2018 вне форума Ответить с цитированием
Старый 30.07.2018, 11:45   #14
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

вы сказали что так нельзя) но как можно осуществить его
Nastya2018 вне форума Ответить с цитированием
Старый 30.07.2018, 11:58   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Nastya2018 Посмотреть сообщение
я так сделала)но все равно спасибо) просто еще мне сказали чтобы 100 на 100 ячейка заполнялась
а для этого бреда нужно сделать две вещи:
1)
исправить конструктор, чтобы памяти выделялось на 1 элемент больше:
Код:
    Matrix(int row, int col) throws MatrixIndexException {
        if (row <= 0 || col <= 0) {
            throw new MatrixIndexException("Недопустимый размер матрицы.");
        }
        this.rowCount = row;
        this.colCount = col;
        data = new int[row+1][col+1];
    }
2) исправить методы get и put:
Код:
    public int get(int i, int j) throws MatrixIndexException {
        if (i < 1 || i > rowCount) {  
            throw new MatrixIndexException("Недопустимое число строк: " + i);
        }
        if (j < 1 || j > colCount) {
            throw new MatrixIndexException("Недопустимое число столбцов: " + j);
        }

        return data [i][j];
    }

    void put(int i, int j, int value) throws MatrixIndexException {
        if (i < 1 || i > rowCount) {
            throw new MatrixIndexException("Недопустимое число строк: " + i);
        }
        if (j < 1 || j > colCount) {
            throw new MatrixIndexException("Недопустимое число столбцов: " + j);
        }
        data[i][j] = value;

    }

ну и изменить везде циклы
вместо
Цитата:
Код:
for (int i = 0; i < rowCount; i++) { 
            for (int j = 0; j < colCount; j++) {
писать
Код:
for (int i = 1; i <= rowCount; i++) { 
            for (int j = 1; j <= colCount; j++) {

p.s. я бы тому, кто Вас такому учит, руки поотрывал!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.07.2018, 12:03   #16
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Спасибо большое) ценю вашу помощь!!!
Nastya2018 вне форума Ответить с цитированием
Старый 30.07.2018, 12:10   #17
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Спасибо большое)
а вы не подскажите как эту матрицу преоброзовать в двумерный массив
Nastya2018 вне форума Ответить с цитированием
Старый 30.07.2018, 13:05   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Nastya2018 Посмотреть сообщение
а вы не подскажите как эту матрицу преоброзовать в двумерный массив
матрица - это и есть двухмерный массив.

Что Вы имели в виду?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.07.2018, 13:28   #19
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Надо сделать вот так как на картинке. Матрицу реализовать в двумерном массиве.
Изображения
Тип файла: jpg JOOD8wVfNlg.jpg (109.1 Кб, 131 просмотров)
Nastya2018 вне форума Ответить с цитированием
Старый 30.07.2018, 13:28   #20
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

надо изменить класс Matrix
Nastya2018 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка индексами в Clientdataset iliili БД в Delphi 2 08.05.2011 20:41
Выделение ячеек с переменными индексами layriona Microsoft Office Excel 2 14.10.2010 09:22
Проблема с индексами! MaratGaynullin Помощь студентам 0 22.04.2009 01:52
помогите с индексами в дереве! Анастасия123456789 Общие вопросы Delphi 1 26.11.2008 15:26
Работа с индексами azat БД в Delphi 3 12.12.2007 11:17