Soullloud
7 уровень
написал програму и не могу понять почему она работает, объясните пожалуйста
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #2583212 Backend Developer в Open Code
6 июля 2021, 11:53
Проверки второго требования у тебя нету
0
fFamous
6 июля 2021, 09:30
Выясняй по шагам:
1) Ты создал объект scanner класса Scanner, в него ты передал объект Sistem.in, значит мы будем получать вводимые значения с консоли;
2) Инициализировал sum как переменную типа int со значением == 0;
3) Далее создал цикл while с условием (scan.hasNextIn()), что означает, что пока ты вводишь в консоль целочисленные числа в диапазоне от -2147483648 до 2147483647 с клавиатуры - цикл будет повторяться;
4) Внутри уже самого цикла while, ты инициализировал x переменную типа int со значением (scan.nextInt), что означает, что значение числа, которое ты введешь в консоль, будет присвоено переменной x;
5) Далее, ты прописал, что переменной sum будет присвоено значение выражения sum + x;
6) Получается, что как только ты вводишь в консоль целочисленное значение, запускается цикл, это значение присваивается переменной x, а далее переменной sum присваивается новое значение, равное выражению sum + x (то есть, если ввел в консоль 10, то выполнится sum = 0 + 10). После того, как цикл завершится, int sum = 0, что вне цикла, примет значение 10(станет int sum = 10), а далее, пока ты будешь вводить целочисленные значения в консоль, будет повторяться тоже самое и так, пока ты не введешь что угодно, но не целочисленное значение в диапазоне или же просто не нажмешь ENTER, что будет расценено компилятором, как мне кажется, как пустая строка "".
0
Justinian Judge в Mega City One Master
6 июля 2021, 09:31
штрафной бал начислен :)
0
fFamous
6 июля 2021, 09:32
Я еще даже не позавтракал, это не считается xD
0
Павел
6 июля 2021, 07:44
Попробуй переписать этот код в IDEA и посмотреть как она работает там
0