Привет тем, кто не понимает сути или помогает.
Объясните, пожалуйста, почему мое решение не проходит, а подсмотренное решение проходит идеально. Если вы распишите мне построчно движение переменных, я буду только рад, потому что я запутался в методах, в их создании и использовании...
(меняется только if в main)
Мой код:
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) < abs1(b)) {
System.out.println(abs(a));
}
else {
System.out.println(abs1(b));
}
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
public static int abs1(int b) {
if (b < 0) {
return -b;
}
else {
return b;
}
}
}
Подсмотрел:
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) < abs1(b - 10)) {
System.out.println(abs(a));
}
else {
System.out.println(abs1(b));
}
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
public static int abs1(int b) {
if (b < 0) {
return -b;
}
else {
return b;
}
}
}
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 (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;
}
}
}