Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Код на Java

Kate_or_no Ученик (78), закрыт 3 недели назад
Количество чисел в последовательности 2
С клавиатуры вводятся натуральные числа, пока не будет введено число, делящееся на 5. Вывести на экран сумму тех введенных чисел, которые больше 10. Если таких чисел не окажется, вывести 0.

Входные данные
Последовательно вводятся целые числа, не будет введено число, делящееся на 5.

Выходные данные
Вывести на экран сумму тех введенных чисел, которые больше 10. Если таких чисел не окажется, вывести 0.
помогите написать код
Лучший ответ
Егор Андронов Мудрец (12996) 4 месяца назад
import java.util.Scanner;

public class SumGreaterThanTen {
public static void main(String[] args) {
Scanner scanner = new Scanner( System.in );
int sum = 0;
boolean hasNumbersGreaterThanTen = false;

System.out.println("Введите натуральные числа (введите число, делящееся на 5 для завершения):");

while (true) {
int number = scanner.nextInt();

// Проверка на число, делящееся на 5
if (number % 5 == 0) {
break; // Завершаем ввод
}

// Проверка на числа больше 10
if (number > 10) {
sum += number; // Добавляем к сумме
hasNumbersGreaterThanTen = true; // Устанавливаем флаг
}
}

// Вывод результата
if (hasNumbersGreaterThanTen) {
System.out.println("Сумма чисел больше 10: " + sum);
} else {
System.out.println("0");
}

scanner.close();
}
}
Остальные ответы
Андрей Панарин Искусственный Интеллект (264469) 4 месяца назад
При помощи стримов эта задача решается красиво и элегантно:
 import java.util.Scanner; 
import java.util.stream.Stream;

public class DivideBy5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = Stream.generate(scanner::nextLine)
.mapToInt(Integer::parseInt)
.takeWhile(n -> n % 5 != 0)
.filter(n -> n > 10)
.sum();
System.out.println(sum);
}
}
Похожие вопросы