package com.javarush.task.task04.task0409;
/*
Ближайшее к 10
*/
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(10 - a) < abs(10 - b) ) {
System.out.println(a);
}
else {
System.out.println(b);
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}
1)что делает метод abs?
2) какую именно переменную а мы передаем в abs та что здесь displayClosestToTen(8, 11); или число 10 из if ? if(abs(10 - a)
progr
8 уровень
объясните логику задачи
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Professor Ezhov
6 июня 2019, 07:11
На первый вопрос уже ответили.
Второй. Метод displayClosestToTen принимает два аргумента - (int a, int b)
переменная а - это первый аргумент.
Соответственно при вызове displayClosestToTen(8, 11)
а = 8, b = 11
а при вызове displayClosestToTen(7, 14)
a =17 , b =11
0
Justinian Judge в Mega City One Master
4 июня 2019, 20:13
1) Метод абс возвращает модуль числа. Модуль 7 это 7. Модуль -7 это 7. То есть убирается минус, если он есть.
2)
два вызова метод abs:
соответственно возвратится 2 и 1.
На печать пойдет именно 1, поскольку 1 меньше 2 +1
progr
5 июня 2019, 23:09
так а в abs какое число if(abs(10 - 8) отсюда передается, 10 или 8?
0
Justinian Judge в Mega City One Master
6 июня 2019, 07:12
10-8 это математическое выражение.
Сначала оно вычислится, результат будет 2.
И тогда аргумент пойдет в сам метод abs
и будет abs(2);
Например есть метод, который печатает число:
Если мы напишем так:
printNumber(2);
на печать будет 2.
Если напишем так:
printNumber(10-8);
это будет равно, что мы напишем printNumber(2);
Сначала будет операция 10-8, результат 2, и только тогда вызовется метод с аргументом 2
То что находится в круглых скобках сначала вычисляется/обрабатывается и только тогда уже происходят дальнейшие действия.
0
Dmitriy
16 июня 2019, 19:35
Спасибо за разъяснение! Пол тетрадки исписал пытаясь по этой формуле найти правильный вариант, но не учел что метод abs возвращает модуль числа! Все на своих местах теперь.
+1