русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ситуация выхода за пределы массива


Дата добавления: 2015-06-12; просмотров: 2182; Нарушение авторских прав


Двумерный массив,который хранит данные игрового поля имеет размеры 10x10 (10 строчек, 10 элементов в каждой строке). Нумерация строк и элементов в строке лежит в пределах от 0до 9. Номер не может быть меньше нуля или больше девяти! Если попытаться в программном коде выполнить следующие строки, то произойдет ошибка:

//Примеры выхода за границы массива

masPlay[-1][4] = 1;

masPlay[10][4] = 1;

Нельзя допускать выход за границы массива! В классеgame нам предстоит очень много работать с двумерным массивом и нужно будет проверять ситуацию выхода за пределы массива. Добавим метод для тестирования данной ситуации:

// Проверка невыхода за границы массива

private boolean testMasPoz(int i, int j) {

if (((i> = 0) && (i <= 9)) && ((j >= 0) && (j <= 9))) {

return true;

} else

return false;

}

Внимание!!!Методы класса можно размещать в произвольном порядке внутри класса! Таким образом, метод testMasPoz() можно разместить под конструктором класса или над ним.

Методу testMasPoz(int i, int j) передаются два параметра –номер строки i

и номер позиции в строкеj. Метод выполняет проверку что i, jлежат в пределах от 0до 9. Если все в порядке–метод возвращает true (истина), если происходит выход за пределы массива, то false(ложь).

Важно!!!Любой фрагмент программного кода, который будет неоднократно использоваться в программе, необходимо реализовать в виде отдельного метода. А готовый метод вызывать в нужных местах программного кода.

При записи значения в элемент массива –мы должны быть уверены, что не выходим за границы массива. Для этих целей добавим еще один метод:


 

// Запись значения в массив с проверкой границ массива

private void setMasValue(int[][] mas, int i, int j, int val) {

// Если не происходит выход за границы массива



if (testMasPoz(i, j)==true) {

// Записываем значение в массив

mas[i][j] = val;

}

}

Метод setMasValue() запишет значение в элемент массива только в том случае, если не будет выхода за пределы массива. Этот метод гарантирует нам, что мы случайно не нарушим границы массива.



<== предыдущая лекция | следующая лекция ==>
Отрисовка игрового поля на основании двумерного массива | Генерация однопалубных кораблей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.865 сек.