Цитата 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();
Если что то не так то прошу исправить.!!!
так как правильно и красиво кодить это не заучить правила и писать по ним как под трафарет, а научится правильно думать, уметь проводить анализ.