чёт не понятно совсем 🙄 Как заставить программу суммировать цифры, пока не введут "ENTER". может конечно я совсем не правильно начал подходить к вопросу, но интуитивно кажется так можно решить задачу .
yarus_xxl
16 уровень
как суммировать цифры с клавиатуры?
Решен
Комментарии (11)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Пирожников Александр
12 мая 2021, 08:12
Для начала нужна переменная,куда ты будешь записывать сумму введеных цифр. При использовании Scanner, тебе нужны будут hasNextInt и hasNextLine, а так же бесконечный цикл удобно с boolean, он есть в уроке. Отдохни и с новыми силами пробуй ещë раз)))
+2
yarus_xxl
12 мая 2021, 09:09
отличный совет ) Спасибо
0
yarus_xxl
5 июня 2021, 14:21
привет )
Я отдохнул, полистал еще предъидущие уроки , посмотрел правильное решение ))) Но прям списывать не интересно, и в коментах прочел что можно без булевой, да и сам так думал. Но чтото всё равно не верно делаю )))
в общем вот :
Scanner s = new Scanner(System.in);
int a = 0;
int b = s.nextInt();
String c = s.nextLine();
{
while (s.hasNextInt()) {
a = a+b ; }
}
if (s.hasNextLine ())
System.out.println(a); }}
Надеялся что пока вводят цифры - их сумирует прога.
после ввода строки - выводится сумма.
по факту " программа выполняется слишком долго".
Получается не выходит из цикла? а почему? не могу понять.
строка же не подходит под условие while. Цикл должен прекратится )
Или не должен)))) Дак условие не соблюдаеться
0
K.
11 мая 2021, 15:05
Сейчас у вас программа ожидает, что пользователь введет одно число и одну строку. Но ведь пользователь может вводить сколько угодно чисел до того момента, как введет слово. А если это будет не enter?
Вам нужно подумать, как можно реализовать эту логику
+1
yarus_xxl
11 мая 2021, 15:49
Если не ентер, то пусть сумирует числа)
похоже я тороплюсь ... спасибо, буду думать...
0
K.
11 мая 2021, 15:50
В целом верно, только, чтобы программа дальше суммировала числа, нужно, чтобы была возможность их вводить до какого-то момента с:
+1
DPast
11 мая 2021, 18:05
Сначала нужно объявить переменную (число), и присвоить ей значение = 0.
Затем создать сканер...
После этого считать (от слова читать) другую перемнную и создать процесс счуммирования... как вы помните переменной может быть притсвоено ее же значение и значение это может изменятьсмя по ходу пъесы...
Т.е. если int x = 0
и затем cоздаем сканер
и затем начинаем считывать int y = ......
то после всего этого можно запустить процесс суммированимя....
x = x + y;... до бесконечности... и тут начинаем решать вопрос конца этого процесса...
Надеюсь... я таки понятно все объяснил :(((((
+1
yarus_xxl
12 мая 2021, 09:11
спасибо
0
yarus_xxl
5 июня 2021, 15:21
привет ) Я полистал еще предъидущие уроки , посмотрел правильное решение ))) Но прям списывать не интересно, и в коментах прочел что можно без булевой, да и сам так думал. Но чтото всё равно не верно делаю ))) в общем вот :
Scanner s = new Scanner(System.in);
int a = 0; int b = s.nextInt();
String c = s.nextLine();
{
while (s.hasNextInt()) {
a = a+b ; } }
if (s.hasNextLine ()) System.out.println(a); }}
Надеялся что пока вводят цифры - их сумирует прога. после ввода строки - выводится сумма.
по факту " программа выполняется слишком долго". Получается не выходит из цикла? а почему? не могу понять. строка же не подходит под условие while. Цикл должен прекратится ) Или не должен)))) Дак условие не соблюдаеться
0
Михаил
11 мая 2021, 15:03
Ты бесконечный цикл сделал. Надо проверять не один раз а пока не появится условие выхода.
Да и вводить можно 10 цифр или 13 или 3 ))) в конце должна быть сумма этих цифр.
0
yarus_xxl
11 мая 2021, 15:57
в условии не пишут сколько цифр будет введено. я подумал что можно обьявить одну переменную, и программа будет ее сумировать пока не введут ентер. я ошибся похоже ) пока не понятно, но пасибо ))
0