Ближайшее к 10

  • 4
  • Недоступна
Напишите метод displayClosestToTen. Метод должен выводить на экран ближайшее к 10 из двух чисел, записанных в аргументах метода. Например, среди чисел 8 и 11 ближайшее к десяти 11. Если оба числа на равной длине к 10, то вывести на экран любое из них. Подсказка: используйте метод public static int a
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (281)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Yevgeniy
Уровень 5
27 апреля, 13:27
не совсем понял как работает метод abs, типа 8-10 = -2, / 7-10 = -3 -2<0 return -2; / -3<0 return -3 11-10=1, / 14 - 10= 4 1>0 return 1 / 4>0 return 4 if -2>=1 печатать b / if -3>=4 печатать b иначе печатать а так чтоле??
Vadym Tereschuk
Уровень 5, Киев, Украина
15 июля, 18:25
abc это модуль числа, модуль не может быть отрицательным он или 0 или целое положительное число.
Эльдар
Уровень 8, Ростов-на-дону
19 марта, 10:25
как вывести ЛЮБОЕ значение?
hidden #2328942
Уровень 4
16 марта, 14:51
if (abs(10 - a) <= abs(10 - b)) System.out.println(a); else System.out.println(b);
BambucH
Уровень 5, Москва, Россия
12 марта, 11:02
есть инфа где подробно разжёвывают про "abs". В душе не чаю что это такое
Павел Соловьёв
Уровень 5, Санкт-Петербург
16 марта, 22:21
abs это модуль числа . http://proglang.su/java/numbers-abs
Алексей Терешин
Уровень 9, Самара, Россия
6 марта, 17:28
Очень сложно понять что нужно делать, вернее заводят в заблуждение иной раз как в это задаче: что если значения равны вывести любое, но когда пишешь код об этом равенстве задача не проходит тест-говорит что не соблюдены все условия задачи и как только удаляешь кусочек кода о равенстве задача неожиданным образом походит тест!!!! 2 дня ломал голову над задачей пока не погуглил конкретную проблему!!!!
Павел
Уровень 8, Санкт-Петербург
3 марта, 16:53
В общем я чего-то не понимаю. С отрицательными числами работает правильно. Но ни в идее ни через вебсреду последний пункт не проходит валидацию. Ткните носом пожалуйста.
public class Solution {
    public static void main(String[] args) {
        displayClosestToTen(8, 11);
        displayClosestToTen(7, 14);
    }

    public static void displayClosestToTen(int a, int b) {

        if (abs(a-10) < (b - 10))
            System.out.println(a);
        else
            System.out.println(b);
    }


    public static int abs(int a) {
        if (a < 0) {
            return -a;
        } else {
            return a;
        }
    }
}
Павел
Уровень 8, Санкт-Петербург
3 марта, 18:56
Да. Уже допёр) Но все равно спасибо. Проблема в том, что я не продумал вариант когда второй аргумент отрицательный (abs(b-10)) и не воспринял условие задачи если одинаково удалены от 10 ((abs(a - 10) == abs(b - 10)). В общем как известно "Поспешишь - людей насмешишь".
Eduard Sharipov 80 уровень
13 февраля, 10:45
Короче сначала "число" - 10, потом приведение к модулю и сравнение числа.
Святослав
Уровень 15, Одесса
11 января, 17:36
Подскажите пожалуйста. Почему в таком варианте, не выполняется последнее условие? public static void displayClosestToTen(int a, int b) { int x = a-10; int y = b-10; abs(x); abs(y); if (x < y) { System.out.println(a); } else { System.out.println(b); } } public static int abs(int a) { if (a < 0) { return -a; } else { return a; } } }
Алексей Тонких Backend Developer в Сбербанк
15 января, 07:47
Метод abs возвращает результат типа int, а не изменяет значение переданной в него переменной. Вам необходимо или переприсвоить значения переменных x и y, или вызвать метод abs при инициализации этих переменных.
Илья Азанов
Уровень 9, Санкт-Петербург, Россия
20 января, 12:49
Эти строки не нужны abs(x); abs(y); просто добавь в условие if (abs(x) < abs(y))
Алексей
Уровень 6
25 декабря 2020, 22:34
У меня вот такой вопрос. В данной задаче к публичному статическому методу abs()можно обращаться как Solution.abs() А можно просто как abs() Есть ли разница в каких нибудь других случаях?
Екатерина Ск
Уровень 4, Санкт-Петербург
7 декабря 2020, 00:19