Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для nomad____1

Пользователь


Сообщения: 79
Благодарности: 1

Профиль | Отправить PM | Цитировать


С днем Великой победы товарищи!!!!

Для исправление данной "иголки" использовал массив и сортировку. Но только в данном методе. На остальные данные не влияет и на логику программы в целом.
Код: Выделить весь код
    private float rightTriangleSquare() {
        float [] arr={aSide, bSide, cSide};
        Arrays.sort(arr);
        if (planarity == true && rightTriangle == true) {
            square = arr[0] * arr[1] / 2;
        }
        return square;
    }
А вот переписанное!
мейн

Код: Выделить весь код
package mathprogram;

import java.util.Scanner;

public class MathProgram {

    public static void main(String[] arg) {
        Triangle triangle = new Triangle();
        Scanner input = new Scanner(System.in);
        System.out.println("Введите первую сторону");
        float sideA = input.nextFloat();
        System.out.println("Введите вторую сторону");
        float sideB = input.nextFloat();
        System.out.println("Введите третью сторону");
        float sideC = input.nextFloat();
        triangle.setSides(sideA, sideB, sideC);
        if (triangle.getSquare() <= 0) {
            System.out.println("Введены некорректные данные");
        } else {
            System.out.println("Площадь треугольника равна " + triangle.getSquare() + " кв.ед.");
        }
    }
}
методарий
Код: Выделить весь код
package mathprogram;

import java.util.Arrays;

public class Triangle {

    private float aSide;
    private float bSide;
    private float cSide;
    private boolean setSides;
    private boolean planarity;
    private boolean rightTriangle;
    private float square;

    public boolean setSides(float sideA, float sideB, float sideC) {
        setSides = false;
        if (sideA > 0 && sideB > 0 && sideC > 0) {
            aSide = sideA;
            bSide = sideB;
            cSide = sideC;
            setSides = true;
        }
        return setSides;
    }

    private boolean planarity() {
        planarity = false;
        if (aSide + bSide > cSide && bSide + cSide > aSide && aSide + cSide > bSide) {
            planarity = true;
        }
        return planarity;
    }

    private boolean rightTriangle() {
        rightTriangle = false;
        if (aSide * aSide + bSide * bSide == cSide * cSide || aSide * aSide + cSide * cSide == bSide * bSide || bSide * bSide + cSide * cSide == aSide * aSide) {
            rightTriangle = true;
        }
        return rightTriangle;
    }

    private float geronSquare() {
        if (planarity == true) {
            float perimeter = (aSide + bSide + cSide) / 2;
            square = (float) Math.sqrt(perimeter * ((perimeter - aSide) * (perimeter - bSide) * (perimeter - cSide)));
        }
        return square;
    }

    private float rightTriangleSquare() {
        float [] arr={aSide, bSide, cSide};
        Arrays.sort(arr);
        if (planarity == true && rightTriangle == true) {
            square = arr[0] * arr[1] / 2;
        }
        return square;
    }

    private float square() {
        if (planarity == true) {
            if (rightTriangle == true) {
                rightTriangleSquare();
            } else {
                geronSquare();
            }
        } else {
            square = 0;
        }
        return square;
    }

    public float getGeronSquare() {
        planarity();
        geronSquare();
        return square;
    }

    public float getRightTriangleSquare() {
        planarity();
        rightTriangle();
        if (rightTriangle == true && planarity == true) {
            rightTriangleSquare();
        } else {
            square = 0;
        }
        return square;
    }

    public boolean isPlanarity() {
        return planarity;
    }

    public boolean isRightTriangle() {
        planarity();
        if (planarity == true) {
            rightTriangle();
        } else {
            rightTriangle = false;
        }
        return rightTriangle;
    }

    public float getSquare() {
        planarity();
        rightTriangle();
        square();
        return square;
    }

    public float getaSide() {
        return aSide;
    }

    public float getbSide() {
        return bSide;
    }

    public float getcSide() {
        return cSide;
    }
}

-------
________________________________________________________
Ты - то что ты ешь. Ешь людей - будь человеком


Отправлено: 20:18, 09-05-2015 | #36