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

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

Аватара для nomad____1

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


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

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


Цитата lxa85:
private float aSide; - это тоже процедура, возвращающая float ??! (ликбез для меня проведите пожалуйста) »
Так это "глобальная" переменная для класса. Она "приват" - доступна только для методов из данного класса. И тип даны которые она может мстить флоат. Изменить из вне не получится. Только получить значение из геттера. Или я неправильно понял и применил?

класс пользователя

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

import java.util.Scanner;

public class MathProgram {

    public static void main(String[] arg) {
        Triangle triangle = new Triangle();
//        triangle.inputSides();

        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.isSetSides() == true) {
            if (triangle.isPlanarity() == true) {
                if (triangle.isRightTriangle() == true) {
                    triangle.getRightTriangleSquare();
                } else {
                    triangle.getGeronSquare();
                }
            } else {
                System.out.println("Данная фигура не может быть треугольником");
            }
            if (triangle.isPlanarity() == true) {
                System.out.println("Площадь треугольника равна " + triangle.getSquare() + " кв.ед.");
            }
        } else {
            System.out.println("Введенные данные не могут быть сторонами какой либо геометрической фигуры");
        }
    }
}

Оно неплохо тут вжилось)

А насчет этого могу сказать в свое оправдание только то как я думал.(
Скрытый текст


Код: Выделить весь код
private float rightTriangle;

 ...
какой то код
 ...

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

Неудачный выбор названия переменной так как оно совпадает с названием метода. Только НО "rightTriangle;"-это переменная, а "rightTriangle();" - это метод. Сначала инициализируется переменная rightTriangle но она пустая так как изначально ей не присвоено никакого значения (хотя можно и было присвоить ложь). Потом в методе ей присваивается значение в зависимости пройдет условие или нет. А после булевский метод rightTriangle() возвращает значение. В даном случае он возвращает значение глобальной переменной.
Нужно было бы так написать.

Скрытый текст

Код: Выделить весь код
private float rightTriangle;

 ...
какой то код
 ...

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

а это стоит наверное перебросить в другой класс. и тогда будет само выбирать как вычислять площадь и потом только по одной команде выводить значение которое более всего подходит, которое более точное.
Скрытый текст

Код: Выделить весь код
 if (triangle.isSetSides() == true) {
            if (triangle.isPlanarity() == true) {
                if (triangle.isRightTriangle() == true) {
                    triangle.getRightTriangleSquare();
                } else {
                    triangle.getGeronSquare();



Если что то не так то прошу исправить.!!!
так как правильно и красиво кодить это не заучить правила и писать по ним как под трафарет, а научится правильно думать, уметь проводить анализ.

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


Последний раз редактировалось nomad____1, 07-05-2015 в 02:46.


Отправлено: 02:16, 07-05-2015 | #26