Ребята помогайте в чем магия??
В данном виде всё вроде считает правильно, но не проходит валидацию как я понимаю по выводу Любого числа когда они равны
не врубаюсь как это
последнея строчка кода (else System.out.println(a);) выводит на экран Любое число. В Данном случае Это (а) и программа работает корректно.
НО sтоит заменитй на (b) и всэ код НЕ работает
Почему так????
if (c<d) System.out.println(a);
else if (c>d) System.out.println(b);
else System.out.println(a);
при сравнение двух переменных же толко 3 варианта??
если менше то одно, если болше то другое и если равны то без разницы какое принтовать
package com.javarush.task.task04.task0409;
/*
Ближайшее к 10
*/
public class Solution {
public static void main(String[] args) {
displayClosestToTen(9, -1);
displayClosestToTen(20, -5);
displayClosestToTen(10,10);
displayClosestToTen(-10,10);
displayClosestToTen(-11,-11);
displayClosestToTen(0,20);
displayClosestToTen(-10,30);
displayClosestToTen(0,-5);
}
public static void displayClosestToTen(int a, int b) {
int c, d;
if (a<0)c = abs(a)+10;
else c = abs(a-10);
if (b<0)d = abs(b)+10;
else d = abs(b-10);
if (c<d) System.out.println(a);
else if (c>d) System.out.println(b);
else System.out.println(a);
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}package com.javarush.task.task04.task0409;
/*
Ближайшее к 10
*/
public class Solution {
public static void main(String[] args) {
displayClosestToTen(9, -1);
displayClosestToTen(20, -5);
displayClosestToTen(10,10);
displayClosestToTen(-10,10);
displayClosestToTen(-11,-11);
displayClosestToTen(0,20);
displayClosestToTen(-10,30);
displayClosestToTen(0,-5);
}
public static void displayClosestToTen(int a, int b) {
int c, d;
if (a<0)c = abs(a)+10;
else c = abs(a-10);
if (b<0)d = abs(b)+10;
else d = abs(b-10);
if (c<d) System.out.println(a);
else if (c>d) System.out.println(b);
else System.out.println(b);
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}