Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
17 / 3 / 0
Регистрация: 21.08.2010
Сообщений: 230

Цикл For

02.11.2017, 10:48. Показов 598. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Подскажите пожалуйста каким образом в данной программе происходит вывод: 012024?

Java
1
2
3
4
5
6
7
8
9
10
11
    public class Example {
        public static void main(String[] args) {
            for (int i=1; i<3; i++){
                for (int j=0;j<3;j++){
                    if(i+j>5)
                        break;
                    System.out.print(i*j);
                }
            }
        }
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.11.2017, 10:48
Ответы с готовыми решениями:

Цикл: Используя цикл do-while напишите код, который вернет разность чисел от x до y (включительно).
Используя цикл do-while напишите код, который вернет разность чисел от x до y (включительно). Учитывайте, что: - если x меньше y, то...

Как переделать данный цикл for во вложенный цикл foreach?
Добрый день, как переделать данный цикл во вложенный цикл foreach? for (i in 0 until fieldPos.size) { for (j in 0...

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать учесть особенности получения квадратного...

9
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
02.11.2017, 11:17
https://www.youtube.com/watch?v=VdBsUv4lnm4
Цитата Сообщение от ynxarmed Посмотреть сообщение
каким образом в данной программе происходит вывод: 012024?
https://media.giphy.com/media/... /giphy.gif
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.11.2017, 11:21
ynxarmed, запустите следующий код, и всё станет ясно

Java
1
2
3
4
5
6
7
8
9
10
11
    public static void main(String args[]){
        for (int i=1; i<3; i++){            
            for (int j=0;j<3;j++){              
                if (i + j > 5) {
                    break;
                }                    
                
                System.out.println("i=" + i + " j=" + j + "  result: " + i * j);                
            }            
        }
    }
1
17 / 3 / 0
Регистрация: 21.08.2010
Сообщений: 230
02.11.2017, 12:27  [ТС]
Kukstyler, В принципе тогда в первоначальном коде, чтобы программа выводила такое же значение, не нужны вот эти две строчки?
if(i+j>5)
break;
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.11.2017, 12:38
ynxarmed, нет т.к. данное условие уже определено в for-ах.
0
17 / 3 / 0
Регистрация: 21.08.2010
Сообщений: 230
02.11.2017, 12:43  [ТС]
Kukstyler, Почему же когда я запускаю программу без этих двух строчек, то всё также работает?
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.11.2017, 13:20
ynxarmed, потому, что в первом for определено условие:

Java
1
for (int i=1; i<3; i++){
То есть, изначально i = 1, инкрементируется по 1-ому, до того, как условие i<3 станет false. А значит, как только в конце очередной (в данном случае, второй) итерации, запустится i++ и станет i=3 (а это уже не i<3), то и произойдёт выход из цикла.

То же самое происходит во втором цикле. По-этому, данный if вообще не исполняется, т.к. инкрементация происходит после итерации, а как только условие становится false, то и следующая итерация, при которой if (i + j > 5) был бы true уже не запускается.

Запустите следующий код, и увидите что сообщения в if-е не выходит:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Start {
    public static void main(String args[]){
        for (int i=1; i<3; i++){            
            for (int j=0;j<3;j++){              
                if (i + j > 5) {
                    System.out.println("if (i + j > 5) !!!!!!!!!!!!");
                    break;
                }                    
                
                System.out.println("i=" + i + " j=" + j + "  result: " + i * j);                
            }            
        }
    }
}
0
17 / 3 / 0
Регистрация: 21.08.2010
Сообщений: 230
02.11.2017, 14:52  [ТС]
Kukstyler, Да, я так и понял, что до if тут дело не доходит, потому что тут максимум получается i + j = 4, а это меньше 5. Поэтому данные строчки и не нужны в данном примере? Но если бы i + j было бы равно например 5, 6 или 7, то тогда бы if нужен был для выхода из цикла при условии, что i + j > 5. Я прав?
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.11.2017, 15:37
Цитата Сообщение от ynxarmed Посмотреть сообщение
Я прав?
прав
1
17 / 3 / 0
Регистрация: 21.08.2010
Сообщений: 230
02.11.2017, 15:51  [ТС]
Kukstyler, Спасибо за ответы, разобрался.

Добавлено через 1 минуту
xoraxax, Спасибо за видео, немного разобрался как делать Debug. Не понял насчет Evalute Expression.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.11.2017, 15:51
Помогаю со студенческими работами здесь

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на подобии. Заранее спасибо)

Цикл: Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20
Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20. Возведение в степень в Python обозначается как **. Фрагмент...

Начать вложенный цикл не с первого элемента и по условию вернуться в основной цикл
Добрый день. На самом деле, проблема чуть шире, чем в названии топика. Есть цикл, в котором идёт перебор массива. Внутри цикла есть...

Цикл: Посчитать среднее арифметическое всех чисел в заданном диапазоне. Цикл while.
Напишите пожалуйста код для данной задачки с помощью цикла while Вывести числа в пользовательском диапазоне с шагом, указанным...

Цикл: Вычислить значение выражения. Как вывести формулу и сделать цикл while?
Последовательно вводятся N целых чисел. Найти минимальное из них. #include&lt;stdio.h&gt; #include&lt;locale.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru