Суммирование

  • 4
  • Недоступна
Напишем программу, в которой нужно вводить с клавиатуры целые числа и считать их сумму, пока пользователь не введет слово "ENTER". Вывести на экран полученную сумму и завершить программу.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (432)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
[YZ]OlegLevin Java Developer Expert
вчера, 14:59
int sum = 0; int num= 0; Scanner scanner = new Scanner(System.in); while (true) { if (scanner.hasNextInt()) { num = scanner.nextInt(); sum += num; } else if(scanner.nextLine().equals("ENTER")){ System.out.println(sum); break; } }
zyttto Software Developer
вчера, 06:04
public class Solution {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);

        String s;
        int sum = 0;

        while (console.hasNextLine()){
            s = console.nextLine();

            if (s.equals("ENTER")){
                break;
            }

            sum += Integer.parseInt(s);

        }

        System.out.println(sum);

    }
}
По хорошему ещё надо проверить что ввели именно число... Но тут условия упрощённые, и тренируем циклы а не проверки, поэтому я их опустил.
Ренат
Уровень 6
позавчера, 20:02
Всем привет. Подскажите, где я ошибаюсь. Проверка пишет, что не выполнено условие 2: Необходимо посчитать сумму введенных целых чисел и вывести её на экран, если пользователь ввел стоп слово. А вот код:
Scanner c = new Scanner(System.in);
   int sum = 0;
        while (c.hasNextInt())
        {int a = c.nextInt();
        sum=sum +a;}
        String s = c.nextLine();
        if (s.equals("ENTER"))
        {System.out.println(sum);}
Эдуард
Уровень 5
5 февраля, 12:27


все проще чем кажеться
Tattooist
Уровень 6
Expert
31 января, 18:55
public class Solution {
    public static void main(String[] args) {
        //напишите тут ваш код
        Scanner sc = new Scanner(System.in);
        //String a = sc.nextLine();
        int sum=0;
        while(!sc.hasNext("ENTER"))
        {
            int x= sc.nextInt();
        sum = sum+x;

        }
        System.out.println(sum);

    }
}
How to Play
Уровень 1
5 февраля, 15:18
Добрый день! Подскажите, пожалуйста, что делает "!" перед "(sc.hasNext("ENTER"))"? Правильно ли я понимаю что это знак отрицания? Т.е. пока в консоль НЕ будет введен "ENTER", цикл будет продолжаться?
Tattooist
Уровень 6
Expert
5 февраля, 16:35
да, совершенно верно
позавчера, 07:31
Изящное решение 👍 Лучше чем в "правильном коде". Я тоже в этом направлении размышлял но получилось немного корявее: 😁
public class Solution {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String exit = "ENTER";
        int sum = 0;
        while (scan.hasNext())
        {
            if (scan.hasNextInt())
            {
            int a = scan.nextInt();
            sum+=a;
            }
            if (scan.nextLine().equals(exit))
            System.out.println(sum);
        }
    }
}
Chappa
Уровень 4
вчера, 11:15
а где-то кроме одно примере в этом же уроке у нас уже появлялось hasNextInt? А то я будто впервые его увидел
миша :)
Уровень 5
29 января, 15:12
int sum=0;
        String enter="ENTER";
        Scanner s = new Scanner(System.in);
        boolean exit=false;
        while (!exit){
            String str=s.nextLine();
            if(str.equals(enter))
                exit=true;
            else {
                int x=Integer.parseInt(str);
                sum +=x;
            }
        }System.out.println(sum);
RomanKamko
Уровень 4
27 января, 12:03
Scanner scanner = new Scanner(System.in); int sum = 0; while (true) { if (scanner.hasNextInt()) { sum += scanner.nextInt(); } else if (scanner.nextLine().equals("ENTER")) { System.out.println(sum); break; } }
Vladislav Mudry
Уровень 4
вчера, 15:14
Как у тебя получилось так круто сделать?
Nazar Android Developer
25 января, 23:45
package com.javarush.task.pro.task04.task0403; import java.util.Scanner; /* Суммирование */ public class Solution { public static void main(String[] args) { //напишите тут ваш код Scanner scanner = new Scanner(System.in); int sum = 0; while (true) { String input = scanner.nextLine(); if (input.equals("ENTER")) { break; } sum += Integer.parseInt(input); } System.out.println(sum); } } Держите))
Idunno Lol
Уровень 10
20 января, 09:24
Ушло несколько дней, но сейчас я разобрался со скобками и всей этой бигуди, короче кому интересно, что я понял. 1. Наверное, самое важное - это то, что фигурные скобки это ОООООЧЕНЬ важная штука. Из за них стало все работать, блок команд делать обязательно если вписываешь туда инты, иначе инт не инициализируется и скажет что ему тут нельзя этого сделать. 2. Я НЕ ПОНЯЛ почему у меня инициализированные в блоке команд переменные иногда не определяются в следующем блоке, например. Ну с этим еще предстоит разобраться. 3. Ну и наверное последнее, я не понял почему именно когда делаешь переменную с суммой и присваиваешь ей 0, потом в цикле плюсуешь ее к инпуту, почему все числа в одну строку плюсуются. Ну то есть получается одно число, а не 4. Ну, немного доходит уже догадка, но лучше если кто то объяснит. СПАСИБО ЗА ВНИМАНИЕ
hint1k
Уровень 32
21 января, 13:16
потому что в одну и ту же переменную при каждом витке цикла перезаписывается заново новое число, затирая старое число, которое там хранилось. 1) Например до начала цикла x = 0; И есть цикл с выражением x = x + 1; 2) В первом витке цикла в переменную x справа от знака равно записывается то, что было в переменной x до этого витка (начальное значение = 0) и прибавляется единичка. И сумма записывается в x слева от знака равно. Т.е. после выполнения этого первого витка цикла (x = 0 + 1 = 1), x будет равен 1. 3) И второй виток цикла x = x +1; Теперь уже в x справа от знака равно записывается не 0, а 1 (не начальное значение, которое затерли, а новое значение из первого витка цикла). И тогда в переменную икс слева от знака равно записывается уже число 2 (потому что x = 1+1 = 2). И тогда в следующем витке цикла в переменной x будет хранится уже число 2, а не 1 и не 0. 4) И так далее.
Idunno Lol
Уровень 10
21 января, 14:02
Все, понял, спасибо огромное.
11 января, 14:28
Уже и забыла про hasNextInt() ))))