Member 13022051 Ответов: 2

Нужна помощь по разъяснению


Хорошо, я пытаюсь выяснить эту проблему с помощью t-диаграммы

for (int i = 1; i < 5; i++)
      for(int k = i; k > 2; k--)
        System.out.print(k + "");


Моя Т-диаграмма

i   K
1   -
2   -
3   2
4   3
5   4


выход

2 3 4

предполагают, чтобы быть

3 4 3 как???

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

Проблема отлично работает в JGrasp мне просто нужно больше разъяснений по выходу

Bryian Tan

3 4 3 звучит правильно.

2 Ответов

Рейтинг:
1

OriginalGriff

Хм.
Я только что попробовал. 343-это то, что я получаю.

Предполагая, что вы скопировали и вставили этот код, я бы проверил, что он правильно компилируется на месте - то есть что другой код вокруг него не вызывает ошибок компилятора, предотвращая создание нового исполняемого файла. Если это так, то вы используете более старую версию программного обеспечения, чем ожидаете, что объясняет разницу.


Рейтинг:
0

Patrice T

Цитата:
Моя Т-диаграмма

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

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

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

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