Member 13917084 Ответов: 2

Вопрос о вложенном цикле Java


В таких программах я понимаю, что если j>i программа идет во внешний цикл, и она увеличивает i, чтобы она могла вернуться, но когда она возвращается в j, она должна быть на уровне 2, потому что мы увеличили ее до того, как вернулись во внешний цикл, но, как я видел, когда мы возвращаемся в j, она находится на уровне 1, а не 2, я не понимаю, что это такое.

Что я уже пробовал:

import java.util.Scanner;
public class Exercise16 {

   public static void main(String[] args)

{
   int i,j,n;
   System.out.print("Input number of rows : ");
 Scanner in = new Scanner(System.in);
		    n = in.nextInt();

   for(i=1;i<=n;i++)
   {
	for(j=1;j<=i;j++)
	  System.out.print(j);

    System.out.println("");
    }
}
}

2 Ответов

Рейтинг:
1

CPallini

Цитата:
но когда он возвращается в j должен быть равен 2 потому что мы увеличили его до того как вернулись во внешний цикл
Нет. Это неверное предположение. На самом деле, j является 1 опять же, потому что на каждой итерации внешнего цикла внутренний цикл часть инициализации (j=1) выполняемый.


Рейтинг:
0

Patrice T

Цитата:
я не понимаю чт

Ваш код ведет себя не так, как вы ожидаете, или вы не понимаете, почему !
Просто смотрите, как он преформируется.

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что вы должны делать, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Обратная сторона этого решения:
- Это DIY, вы один отслеживаете проблему и находите ее корни, которые ведут к решению.
Положительная сторона этого решения:
- Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.

Вторичное воздействие
- Вы будете гордиться тем, что сами находите Жуков.
- Ваши навыки обучения улучшатся.

Вы должны довольно быстро найти, что не так.

Отладчик - Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.