Напишем программу, которая будет просчитывать возможность существования треугольника на основе длин его сторон.
Для этого тебе нужно:
1. Ввести с клавиатуры три числа – длины сторон предполагаемого треугольника.
2. Определить возможность существования треугольника по сторонам. Результат вывести на э
Треугольник
- 3
Недоступна
Комментарии (151)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
PalychExpert
вчера, 14:34
По сравнение с предыдущей задачей, условие описано шикарно. Все понятно, что надо сделать.
Решение, также, не сложное.
Поэтому с первой попытки!
0
RomanExpert
17 мая, 13:44

0
Евгений Колесов (Евгений Колесов)
12 мая, 12:07
Почему программа не засчитывает последнее условие? Все же правильно выполнено, или я чего-то не замечаю?
0
RedFoxSex
13 мая, 18:07
Код покажи. Откуда мы знаем чего ты там написал? Обрати внимание, что в условиях 2 требования, первое это на проверку a < b + c, а второе на проверку a >= b + c. Ниже мой коммент прочитай, возможно поможет.
0
Lou Domico Java Developer
21 апреля, 14:09
С помощью boolean'a
+1
RedFoxSex
13 мая, 18:09
Хаха, 8 строчек кода. Вон чего я написал. Сдал с 1го раза, но по-моему переборщил. Но глядя на else у тебя, решение не примут, поскольку там требование стоит "Если хотя бы в одном случае сторона больше либо равна, то треугольник существовать не может". Из этого получается что проверку на a >= b + c и т.д. в коде сделать нужно, а у тебя идет проверка только на a < b + c, а это половина условия.
Scanner scan = new Scanner(System.in);
int strn1 = scan.nextInt();
int strn2 = scan.nextInt();
int strn3 = scan.nextInt();
boolean isExists1 = (strn1 < (strn2 + strn3));
boolean isExists2 = (strn2 < (strn1 + strn3));
boolean isExists3 = (strn3 < (strn1 + strn2));
boolean isNotExists1 = (strn1 >= (strn2 + strn3));
boolean isNotExists2 = (strn2 >= (strn1 + strn3));
boolean isNotExists3 = (strn3 >= (strn1 + strn2));
if (isExists1 && isExists2 && isExists3) {
System.out.println(TRIANGLE_EXISTS);
} else if (!(isNotExists1 && isNotExists2 && isNotExists3)) {
System.out.println(TRIANGLE_NOT_EXISTS);
}
+1
Allionore
18 мая, 19:01
Офигеть :D
0
Dani
19 апреля, 20:51
Scanner keyboard = new Scanner(System.in);
int a = keyboard.nextInt();
int b = keyboard.nextInt();
int c = keyboard.nextInt();
{
if
(a<(b+c) && (b<(a+c) && (c<(b+a))))
System.out.println("треугольник существует");
else
System.out.println("треугольник не существует");
}
}
0
Surikat767 QA Engineer в АО Финам
1 апреля, 09:06
+4
Alexey
12 марта, 17:21
if ((a + b > c) && (a + c > b) && (b + c > a)) решал таким уравнением окончательно, а до этого
if ((a + b > c) || (a + c > b) || (b + c > a)) и последнее требование задачи не проходило.
Объясните пожалуйста в чем соль. (не могу понять почему здесь "и" а не "или" , ведь по сути мы выбираем одно уравнение из трех, соответственно "или".
+3
Ksenia
14 марта, 00:22
ты сравниваешь сумму сторон треугольника с третьей стороной. У тебя есть ОДИН треугольник с ТРЕМЯ сторонами, и ты в условии проверяешь каждую сторону: каждая сторона треугольника должна быть меньше суммы двух других, поэтому используется оператор И(&&). Если хоть одно условие не пройдет, такой треугольник существовать не будет.
0
Anonymous #3285089
29 марта, 16:39
По причине: "|| — оператор “ИЛИ”. Возвращает true, когда хотя бы один из операндов истинный", что противоречит условиям задачи. Более подробно вы можете ознакомиться с операторами здесь: https://javarush.com/groups/posts/1924-operacii-nad-chislami-v-java
+2
Plavlenniy_Syrok
25 апреля, 14:50
Решал через оператор || (или), только перед скобками выносил !
Scanner console = new Scanner (System.in);
int a = console.nextInt();
int b = console.nextInt();
int c = console.nextInt();
if (!(a < b + c) || !(b < a + c) || !(c < a + b)) {
System.out.println(TRIANGLE_NOT_EXISTS);
}
else
System.out.println(TRIANGLE_EXISTS);
0
Genesis Channel
9 февраля, 14:12
Scanner keyboard = new Scanner(System.in);
int a = keyboard.nextInt(), b = keyboard.nextInt(), c = keyboard.nextInt();
if((a<(b+c) && (b<a+c) &&(c<(a+b))))
System.out.println("треугольник существует");
else
System.out.println("треугольник не существует");
+2
Антон
23 января, 17:53
А зачем в правильном решении и многие внизу ставят кучу скобок в условии? Сложение имеет выше приоритет чем сравнение, условие между логическими операторами принимается тоже целиком.
if (a < b + c && b < a + c && c < a +b); <- Так тоже корректно работает.
Объясните пожалуйста.
+1
Anonymous #3233448
29 декабря 2022, 15:29
Scanner console = new Scanner(System.in);
int a = console.nextInt();
int b = console.nextInt();
int c = console.nextInt();
int first = (b + c - a);
int second = (c + a - b);
int third = (b + a - c);
if (first > 0 && second > 0 && third > 0){
System.out.print(TRIANGLE_EXISTS);
}
else{
System.out.print(TRIANGLE_NOT_EXISTS);
}
0