Добрый день, уважаемые коллеги!

Подскажите, пожалуйста, почему не проходит проверка кода?

/* Треугольник
Ввести с клавиатуры три числа а, b, c – стороны предполагаемого треугольника.
Определить возможность существования треугольника по сторонам. Результат вывести на экран в следующем виде:
"Треугольник существует." - если треугольник с такими сторонами существует.
"Треугольник не существует." - если треугольник с такими сторонами не существует.
Подсказка: Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей.
Требуется сравнить каждую сторону с суммой двух других.
Если хотя бы в одном случае сторона окажется больше суммы двух других, то треугольника с такими сторонами не существует.
*/

import java.io.*;

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        //напишите тут ваш код
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Введите значение для стороны a: ");
        String sA = reader.readLine();
        System.out.println("Введите значение для стороны b: ");
        String sB = reader.readLine();
        System.out.println("Введите значение для стороны c: ");
        String sC = reader.readLine();
        int a = Integer.parseInt(sA);
        int b = Integer.parseInt(sB);
        int c = Integer.parseInt(sC);
        if ((a + b < c) || (b + c < a) || (a + c < b))
            System.out.println("Треугольник не существует.");
        else
            System.out.println("Треугольник существует.");
    }
    }

задан 21 Фев '16, 05:17

Kirill%20Tezikov's gravatar image

Kirill Tezikov
24
одобрено: 44%

тэги отредактированы 15 Апр '16, 05:24

Katran's gravatar image

Katran
1.3k29


Вывод неверный. Сначала выводите, что треугольник существует, если условие выполняется, а потом уже выводите, что не существует. Сделайте условие наоборот. a + b > c и т.д.

ссылка

опубликован 21 Фев '16, 05:34

Vokler's gravatar image

Vokler
2318
одобрено: 22%

Строка 28 некорректна. Если одна из сторон будет равна сумме двух других, треугольник не получится. Строки 19, 21, 23 если они не были изначально в коде, лучше убрать.

ссылка

опубликован 21 Фев '16, 05:39

mslmn's gravatar image

mslmn
1.6k5
одобрено: 39%

Решено: нужно было использовать для сравнения <=. Строки 19, 21, 23 пришлось убрать, хотя не считаю это за ошибку.

(21 Фев '16, 05:49) Kirill Tezikov

Господа, всех благодарю за содействие! Проблема решена, тему можно закрыть.

ссылка

опубликован 21 Фев '16, 05:49

Kirill%20Tezikov's gravatar image

Kirill Tezikov
24
одобрено: 44%

изменено 21 Фев '16, 05:50

Спасибо ТС, действительно проверять надо на <= , а я на больше проверял, благодаря этому топику допер.

ссылка

опубликован 23 Фев '16, 07:34

Denkneb's gravatar image

Denkneb
8255
одобрено: 40%

Ваш ответ
включить просмотр

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×542
×269
×76
×31

Задан: 21 Фев '16, 05:17

Просмотров: 930 раз

Отредактирован: 15 Апр '16, 05:25