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

Помощь в решении задачи JAVA

Майами Ученик (196), на голосовании 4 года назад
Если число, введенное с клавиатуры - четырехзначное и делится на 5, то вывести слово "Удача".
Голосование за лучший ответ
Андрей Панарин Искусственный Интеллект (225183) 4 года назад
Четырехзначное число находится в диапазоне от 1000 до 9999.
Оно делится на 5, если остаток от деления равен нулю; а остаток можно узнать при помощи деления по модулю (%).

Scanner sc = new Scanner(System.in);
System.out.print("Введите число: ");
int x = sc.nextInt();

if (x >= 1000 && x <= 9999 && x % 5 == 0) {
System.out.println("Удача");
}
МайамиУченик (196) 4 года назад
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
if (number >= 1000 && number % 5) {
System.out.println("SUCCES");
}
else {
System.out.println("FAILURE");
Подскажите почему он ругается на логическую операцию && без указания number == 0?
Андрей Панарин Искусственный Интеллект (225183) Результатом выражения в скобках после if должно быть значение типа boolean, то есть true или false. b1 && b2 - это конъюнкция. Ее результат имеет тип boolean. Ее операнды тоже должны иметь тип boolean. number % 5 - это число, а не boolean. number % 5 == 0 - это сравнение, а его результат - boolean. Попробуйте еще с пятизначными числами.
МайамиУченик (196) 4 года назад
подскажите еще один момент, как ограничить восприятие программой определенных чисел.
Известен рост 4 человек. Определить, одинаков ли их рост? С клавиатуры вводятся 4 натуральных числа каждое из которых не превосходит 176.
Scanner scanner = new Scanner(System.in);
int man1 = scanner.nextInt();
int man2 = scanner.nextInt();
int man3 = scanner.nextInt();
if (man1 == man2 && man2 == man3) {
System.out.println("YES");
}
else System.out.println("NO");
Все работает, правда ограничить ввод до 176 я не могу понять как. В интеренете обшарил все, что можно (
Андрей Панарин Искусственный Интеллект (225183) Что должно происходить, когда введенный рост превышает 176? Можно написать метод, который принимает ввод чисел, пока не введут валидное число. Например, так: private static int inputHeight(Scanner scanner) { int h; do { h = scanner.nextInt(); } while (h <= 0 || h > 176); return h; } Естественно, этот метод должен быть внутри класса, но за пределами метода main. А вызывать его можно так: int man1 = inputHeight(scanner); int man2 = inputHeight(scanner); int man3 = inputHeight(scanner);
Sun Sunshine Мастер (1913) 4 года назад
if(number>999 && number<10000&&(number%5))
...
справочник Ученик (232) 4 года назад
Scanner in = new Scanner(Systemin) вечером допишу
Похожие вопросы