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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2016, 14:56   #1
Maks_Andreev
 
Регистрация: 18.03.2016
Сообщений: 6
По умолчанию Массивы

Здравствуйте.

Взгляните пожалуйста на этот код:
Цитата:
//Использование расширенного цикла for
//для обработки двумерного массива
class ForEach1{
public static void main(String args[]){
int sum=0;
int nums[][]=new int[3][5];
//Ввести ряд значений в массив nums
for(int i=0; i<3; i++){
for(int j=0; j<5; j++){
nums[i][j]=(i+1)*(j+1);
System.out.print(nums[i][j]+" ");
}
System.out.println();
}
{
System.out.println("Начало работы цикла for each: ");
}
//Использовать разновидность for-each цикла for
//для суммирования и отображения значений.
//Обратите внимание на объявление переменной х.
for(int x[] : nums){
for(int y : x){
System.out.println("Значение: "+y);
sum+=y;
}
}
System.out.println("Сумма: "+sum);
}
}
Он дает такой результат:
Цитата:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
Начало работы цикла for each:
Значение: 1
Значение: 2
Значение: 3
Значение: 4
Значение: 5
Значение: 2
Значение: 4
Значение: 6
Значение: 8
Значение: 10
Значение: 3
Значение: 6
Значение: 9
Значение: 12
Значение: 15
Сумма: 90
Если из цикла for убрать {{}} и System.out.print(nums[i][j]+" "); он все еще работает и выдает результат:
Цитата:
Начало работы цикла for each:
Значение: 1
Значение: 2
Значение: 3
Значение: 4
Значение: 5
Значение: 2
Значение: 4
Значение: 6
Значение: 8
Значение: 10
Значение: 3
Значение: 6
Значение: 9
Значение: 12
Значение: 15
Сумма: 90
Но если из цикла for убрать {{}} и ОСТАВИТЬ System.out.print(nums[i][j]+" "); он перестанет работать и выдаст следующую ошибку:
Цитата:
error: cannot find symbol
Помогите понять почему.
Спасибо.
Maks_Andreev вне форума Ответить с цитированием
Старый 31.03.2016, 15:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Потому что i, j где объявлены? В цикле. Циклы где закончились? На
Код:
nums[i][j]=(i+1)*(j+1);
Усе... Какие i,j вы еще ищите?
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу массивы (C++) - Даны два массива, скопировать эти массивы в 3-й результирующий (размером 10 элементов) так, что Саша1990 Помощь студентам 1 02.02.2015 16:03
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12