Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
4 / 4 / 3
Регистрация: 11.09.2011
Сообщений: 146

Обработка исключений

21.11.2012, 22:20. Показов 979. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи.

Имеем матрицу 10х10 . Перепишем след. образом : на место каждого [i][j] запишем среднее арифметическое соседей этого элемента.

Имею следующий код :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package helloword;
import java.util.*;
 
public class SeminarFour {
    
     static Scanner reader = new Scanner(System.in);
     
    public static void main(String args[]){
        
        int[][] da = new int[2][2]; // Исходный массив
        int[][] net = new int[2][2];//Массив в который пишем
        for(int i=0; i<da.length; i++) { //Cоздание массива
        for(int j=0; j<da[i].length; j++) {
        da[i][j] = (int)(Math.random()*10);
         System.out.print(da[i][j] + " ");
         if(j == da[i].length -1){
       System.out.print("\n");
      }
  }
}
        
 
      for(int i=0;i<da.length;i++){
           for(int j=0;i<da.length;i++){
              net[i][i]=(da[i][j+1] + da[i][j-1] + da[i+1][j] + da[i-1][j])/4;
           }          
       } 
    }
    
}
Вопрос следующий : Не у каждого [i][j] имеется сосед , например сверху или сбоку , как следует обрабатывать такие случаи?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2012, 22:20
Ответы с готовыми решениями:

Обработка исключений
Доброго времени суток. Решил все таки отойти от привычной delphi, на замену была выбрана java, я в ней новичок т.ч. не пинайте сильно. ...

Обработка исключений
Написать программу, решающую данную задачу:Велосипедист, имея начальную скорость X м/с, спускается с горы с ускорением Y м/с2 в течение t...

обработка исключений
На собеседовании задали вопрос: &quot;При обработке исключений есть ли какие-либо ограничения на вложеность&quot;? И второй вопрос, если есть...

4
20 / 20 / 2
Регистрация: 01.11.2012
Сообщений: 66
22.11.2012, 00:47
Проверками допустимых значений:
Java
1
2
3
4
5
6
7
8
for(int i=0;i<da.length;i++){
    for(int j=0;i<da.length;i++){
        int prevJ = j == 0 ? 0 : da[i][j-1];
        int nextJ = (j +1) == da[i].length ? 0 : da[i][j+1];
        ...     
        net[i][j]=( prevJ + nextJ + prevI + nextI )/4;
    }
}
0
 Аватар для RequiemMass
92 / 92 / 18
Регистрация: 06.01.2012
Сообщений: 394
25.01.2013, 11:00
Java
1
2
3
4
5
6
  for(int i=0;i<da.length;i++){
           for(int j=0;i<da.length;i++){
            if ((i>=0&&i<2)&&(j>=0&&j<2)) {
              net[i][i]=(da[i][j+1] + da[i][j-1] + da[i+1][j] + da[i-1][j])/4;
           }
           }
0
20 / 20 / 2
Регистрация: 01.11.2012
Сообщений: 66
25.01.2013, 11:35
RequiemMass, это не заработает
- нулевые значения не будут заполнены, типа net[0][0]
- в условии лучше проверять длину массива, а не константу
- если вы считаете длину массива равной 2, то значения i+1 и j+1 выйдут за пределы массива
- ну и net[i][i] - наверное просто опечатка, как у автора
0
 Аватар для RequiemMass
92 / 92 / 18
Регистрация: 06.01.2012
Сообщений: 394
25.01.2013, 11:48
zergi2, да действительно. Чот не обратил внимания, одни сплошные косяки ))).
Короч когда то я уже решал подобную задачу по следующему алгоритму.
1. Вычисление координаты. (Вычисление осуществляется с помощью массива приращений.) Берём исходную координату ячейки, прибавляем приращение n, получаем необходимую координату. Всего 9 приращений, соотв 9 квадратов вокруг ячейки.
2. Проверка попала ли координата в нашу матрицу. (по тому условию, которое я задал)
3. Если попала, то извлекаем значение.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 private boolean checkNear(final int i,final int j)
{
    final byte[][] dN ={{0,1},{-1,0},{0,-1},{1,0}};
 
    for (int k=0;k<4;k++)
    {
        int dx=dN[k][0];
        int dy=dN[k][1];
        int x=0;
        int y=0;
        x=i+dx;
        y=j+dy;
        if((x>=0&&x<10)&&(y>=0&&y<10))
        {
            if ((Field[y][x])==1) return true;
        }
    }
    return false;
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private boolean checkAcross(final int i,final int j)
{
    final byte[][] dN ={{-1,-1},{1,-1},{1,1},{-1,1}};
    for (int k=0;k<4;k++)
    {
        int dx=dN[k][0];
        int dy=dN[k][1];
        int x=0;
        int y=0;
        x=i+dx;
        y=j+dy;
        if((x>=0&&x<10)&&(y>=0&&y<10))
        {
            if ((Field[y][x])==1) return true;
        }
    }
    return false;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.01.2013, 11:48
Помогаю со студенческими работами здесь

Обработка исключений
Выполняю следующее задание из книги Б.Эккеля &quot;Thinking in Java&quot; Создайте ваш собственный класс исключения, используя ключевое слово...

Обработка исключений
Доброго времени суток, помогите пожалуйста,вот задача: Скопировать файл, в другой файл. После копирования размер файла должны совпадать. ...

Обработка исключений
Здравствуйте! Помогите пожалуйста! У меня такое задание: Ввести с клавиатуры три целых числа (a, b, c). Определить, являются ли они...

Обработка исключений
Есть метод public void setLenght(double lenght) { this.lenght = lenght; }Понятно, что если длина будет принимать...

Обработка исключений
Здравствуйте! Имеется такой код. // Демонстрация обработки исключений class ExcDemol { public static void main(String args(){ int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru