Я как понимаю переменные x,y объявлены в рамках цикла for. Однако я и далее использую переменные в этих циклах, но программа теряет их. Не в первый раз с этим сталкиваюсь, что я делаю не так и как правильно присвоить переменную, чтобы она не терялась после выполнения for цикла? И подскажите, пожалуйста, правильно ли думаю в плане выполнения программы? Спасибо! UPD: Решил таки задачу, однако появились вопросы по инициализации массива. Правильно понимаю, что вместо моего поячеечного присваивания , можно было использовать нечто подобное? MULTIPLICATION_TABLE [][] = {{1,2,3,4,5,6,7,8,9,10},{1,2,3,4,5,6,7,8,9,10}}; И можете мне разжевать, пожалуйста тему с переменными по описанной проблеме выше. Так и не допер почему объявление переменных теряется. Спасибо! Спойлер: Мой корявый код решенной задачи package com.javarush.task.pro.task05.task0509; /* Таблица умножения */ public class Solution { public static int[][] MULTIPLICATION_TABLE = new int[10][10]; public static void main(String[] args) { //напишите тут ваш код MULTIPLICATION_TABLE[0][0]=1; MULTIPLICATION_TABLE[0][1]=2; MULTIPLICATION_TABLE[0][2]=3; MULTIPLICATION_TABLE[0][3]=4; MULTIPLICATION_TABLE[0][4]=5; MULTIPLICATION_TABLE[0][5]=6; MULTIPLICATION_TABLE[0][6]=7; MULTIPLICATION_TABLE[0][7]=8; MULTIPLICATION_TABLE[0][8]=9; MULTIPLICATION_TABLE[0][9]=10; MULTIPLICATION_TABLE[1][0]=2; MULTIPLICATION_TABLE[2][0]=3; MULTIPLICATION_TABLE[3][0]=4; MULTIPLICATION_TABLE[4][0]=5; MULTIPLICATION_TABLE[5][0]=6; MULTIPLICATION_TABLE[6][0]=7; MULTIPLICATION_TABLE[7][0]=8; MULTIPLICATION_TABLE[8][0]=9; MULTIPLICATION_TABLE[9][0]=10; for (int x = 0; x<10;x++){ for (int y = 0; y<10;y++) if ((x==0)||(y==0)) continue; else MULTIPLICATION_TABLE[x][y] = MULTIPLICATION_TABLE[x][0] * MULTIPLICATION_TABLE[0][y] ;} for (int a = 0; a<10;a++){ for (int b = 0; b<10;b++) if (b==9) System.out.println(MULTIPLICATION_TABLE[a][b]+" "); else System.out.print(MULTIPLICATION_TABLE[a][b]+" "); } } }