Member 13154605 Ответов: 2

Почему это ограничение не работает в коде, который я написал?


импорт java. lang.*;
импорт java.util.Сканер;

открытый класс ТП {
public static void main(String Args[]){

Scanner in = новый сканер(System.in);

двойной предел;

Системы.из.код println("введите предел в целое : ");
предел = в.nextInt();

int num = 0;

для (int x = 1; num & lt; limit; x = x + 2){
Системы.из.код println(Нум + х);
num = num + x;
}


}
}

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

Я попытался дать условие, что число, которое будет напечатано, должно быть меньше предела.

[no name]

двойной предел;
предел = в.далееInt();

Вы понимаете, в чем может быть проблема?

2 Ответов

Рейтинг:
2

OriginalGriff

Каждый раз вокруг цикла x увеличивается на 2 - но num увеличивается на его Предыдущее значение.
Так как вы идете по кругу:

num   x    printed
0     1    1
1     3    4
4     5    9
...
поскольку то, что вы печатаете, не является числом, которое вы сравниваете с пределом, он всегда печатает число, которого вы не ожидали.

Я не уверен, какую последовательность вы пытаетесь напечатать, но запишите ее и попробуйте найти самый простой алгоритм для ее печати, вместо того чтобы бросаться в код.


Рейтинг:
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[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.