Добрый день. Мое решение выглядит так и проходит проверку, но оно не совпадает с решением платформы. Получается я не совсем правильно применяю логические операторы. Подскажите пожалуйста что в этом решении нет так (a + b > c & b + c > a & a + c > b) ?
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
int b = Integer.parseInt(reader.readLine());
int c = Integer.parseInt(reader.readLine());
sideLenght(a, b, c);
}
public static void sideLenght(int a, int b, int c) {
if (a + b > c & b + c > a & a + c > b) {
System.out.println("Треугольник существует.");
}
else
System.out.println("Треугольник не существует.");
}
}
Aliaksandr Mytnik
5 уровень
Правило треугольника
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Bandiu Band
10 октября 2022, 03:20
Рекомендую добавлять скобки, добавит читаемости, и предотвратит возможные ошибки с очередностю операций.
if ( (( a + b ) > c ) && (( b + c ) > a ) && (( a + c ) > b) )
{
}
P.S Никто не запрещает ставить лишние пробелы между операциями, на код не влияет но читаемость в разы лучше, сравни -> if (((a + b)>c )&&((b+c)>a)&&((a+c)>b) ){}
0
Alex Zav
25 сентября 2022, 20:28
Синтаксис важен
0
Павел студент на стероидах в Java Syntax Pro beta
21 сентября 2022, 15:48
Не надо называть решение на платформе "правильным", особенно единственно правильным, т.к. это всего лишь один из вариантов решения.
В твоём решение почти всё хорошо, за исключением использования оператора & вместо &&. В данной задаче они будут работать практически одинаково, с одинаковым результатом, но нужно понимать между ними разницу
0