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

Программа на Java

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

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

Выходные данные
Вывести на экран сумму тех введенных чисел, которые больше 10. Если таких чисел не окажется, вывести 0.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {

Scanner in = new Scanner( System.in );
int i = 0;
List N = new ArrayList();


int x = in.nextInt();
while (x % 5 == 0) {
x = in.nextInt();
if (x > 10) {
i += x;
System.out.println(i);
} else {
System.out.println(0);
}

}
}
}
Код работает через раз и выдает каждое число >10, и только потом их сумм
помогите пжжжж
1 ответ
Александр Искусственный Интеллект (301506) 3 недели назад
зачем список? в задании не просят сохранять эти числа
зачем печатать что-то на каждом шагу?
while (x % 5 == 0)
это означает -- "пока введённое число делится на 5 делать что-то"
тебе же нужно противоположное условие...
АлександрИскусственный Интеллект (301506) 3 недели назад
программа ожидает хотя бы один ввод, поэтому do-while предпочтительнее.

 import java.util.Scanner; 

public class Main {
public static void main(String... args) {
try( Scanner in = new Scanner(System.in) ) {
int sum = 0;
int num;
do {
System.out.print("Введите целое число: ");
num = Integer.parseInt(in.nextLine());
if (num > 10) sum += num;
} while (num % 5 != 0);
System.out.println("Сумма чисел больше 10: " + sum);
} catch (Exception e) {
System.out.println("Что-то пошло не так...");
}
}
}
Похожие вопросы