Ближайшее к 10

  • 4
  • Недоступна
Напишите метод displayClosestToTen. Метод должен выводить на экран ближайшее к 10 из двух чисел, записанных в аргументах метода. Например, среди чисел 8 и 11 ближайшее к десяти 11. Если оба числа на равной длине к 10, то вывести на экран любое из них. Подсказка: используйте метод public static int a
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (291)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ramil
Уровень 4
19 апреля, 16:44
Посмотрел ответ решения, так как не смог решить, от ответа глаза на лоб залезли, вообще ничего не понял, может кто ни будь поделиться материалом , где объясняют это , чтобы можно было ознакомиться, ибо в лекции этого нет. Заранее, буду очень благодарен!!!!
Евгений Неизвестный
Уровень 16, Москва
26 февраля, 17:58
зачем в ответе есть это
? a : b
? я сделал просто:
public static void displayClosestToTen(int a, int b) {
      if ((abs(a-10) < abs(b - 10)))
          System.out.println(a);
      else
          System.out.println(b);
Vitevii
Уровень 5
26 октября 2021, 11:25
if (abs(10-a)  >= abs(10 - b))
Вызываем метод abs с параметром 10 - а, где получившееся число положительное, но в 10 - b получается отрицательное и соответственно в методе абс проверяем если минусовое добавляем еще минус чтоб число получилось с плюсом и соответственно а и б можно бы было корректно сравнить.
Zhaxylyk
Уровень 35, Актобе, Казахстан
5 октября 2021, 12:42
Ломал голову долго, но не зря, потому что понял как этот метод(тернарный оператор взаимодействует с методом abs(); if (abs(10-a) <= abs(10-b)) a ; b тут мы в первую очередь 1) минусуем с 10 цифру который передан в аргументе в нашем случае это 8. (10-8) = 2. 2) берем эту цифру и вносим в метод abs для сравнивания на минусовую число. тут вернет число 2. 3) теперь очередь нашего второго числа b. пусть будет это -11. 10- (-11) = -1; -1 вносим в метод abs, получается тут будет return -1; ну вот и все) мы закончили с методом abs. мы выявили первую число и проверили минусовый ли цифра или нет так же узнали вторую число и проверили в методе abs. теперь как видите тут if (abs(10-a) <= abs(10-b)) a ; b мы сравниваем в конец эти 2 числа между собой и выводим самую маленькую. надеюсь вы поняли.
Oleg Dev
Уровень 8
21 сентября 2021, 16:33
HELP🙏 Не пойму зачем нужен вообще тут метод abs если вычитание итак даёт нам нжный эффект: 7 - 10 = -3 6 - 10 = -4 -3 ближе к 10 чем -4 Пример: System.out.println((a-10) >= (b-10) ? a : b); А если мы ответы поставим в метод abs тогда окажется, что 6 (6-10=-4, |-4| = 4) окажется ближе к десяти (потому что он больше второго ответа (-3)). Или я неправильно использую метод, потому что есть два способа его использовать это: 1. помещать в аргумент метода abs число сразу (но тогда нет смысла). Пример: System.out.println((abs(a)-10) >= (abs(b)-10) ? a : b); 2. помещать в аргумент метода abs число после вычитания от 10и. и тогда уже в операторе надобудет сравнивать не то какой ответ больше второго, а тот который меньше. (тогда всё сходится как если бы мы смотрели это на отрезке). Пример: System.out.println(abs((a-10)) <= abs((b-10)) ? a : b); https://javarush.ru/groups/posts/ternarnyj-operator ⬆️очень полезная ссылка на тему тернарных операторов, всё чётко, сжато и по делу) пока расписал ... сам и ответил 🤦‍♂️
Елена
Уровень 41, Санкт-Петербург
23 августа 2021, 14:21
Вообще есть шанс что я когда-нибудь начну понимать что тут происходит)?
JaVu
Уровень 4, Саратов
11 апреля, 11:11
та же проблема
Yevgeniy
Уровень 5
27 апреля 2021, 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
Уровень 16, Киев, Украина
15 июля 2021, 18:25
abc это модуль числа, модуль не может быть отрицательным он или 0 или целое положительное число.
Andre Timoshenko System Engineer в Приватбанк
8 сентября 2021, 04:18
То что abs - это модуль понятно, но из метода который описан
if (a < 0) {
          return -a;
      } else {
          return a;
непонятно почему при отрицательном "return -a" возвращается по факту положительное число, ведь стоит "-а" или "-" на "-" дает "+" по этому выходит "+" в обоих return?
Vadym Tereschuk
Уровень 16, Киев, Украина
8 сентября 2021, 12:24
В параметр методу приходит отрицательное, два минуса дадут плюс
Egor Kurilko
Уровень 7, Москва
20 ноября 2021, 22:14
Считаю что условия задачи описаны не корректно: abc - это метод возвращающий абсолютную величину числа. По умолчанию! Это условие задачи. Но оказывается, это метод превращающий число "а" в абсолютное. Так можно сидеть долго.
Эльдар
Уровень 18, Ростов-на-дону
19 марта 2021, 10:25
как вывести ЛЮБОЕ значение?
hidden #2328942
Уровень 4
16 марта 2021, 14:51
if (abs(10 - a) <= abs(10 - b)) System.out.println(a); else System.out.println(b);
BambucH
Уровень 5, Москва, Россия
12 марта 2021, 11:02
есть инфа где подробно разжёвывают про "abs". В душе не чаю что это такое
Павел Соловьёв докер - механизатор в Порт
16 марта 2021, 22:21
abs это модуль числа . http://proglang.su/java/numbers-abs