Top.Mail.Ru
Ответы

Задача Java - Математика

Нужно создать классы(с наследованием) следующих фигур:

Треугольник
Равнобедренный треугольник
Равносторонний треугольник
Прямоугольный треугольник

Четырёхугольник
Выпуклый четырёхугольник
Параллелограмм
Прямоугольник
Квадрат
Ромб
Трапеция

В этих классах нужны два метода: расчет площади и периметра. Конструктор принимает массив типа double - стороны, угол и.т.д.. Мои знания по геометрии - ужасны. Я пытался гуглить формулы, но там не нашел нормальных примеров, что бы проверить как они работают (чем все эти треугольники и четырехугольники отличаются друг от друга - мне практически не известно. Только самые базовые вещи). Так же пытался спрашивать у ChatGPT (не факт, что это именно он. Спрашивал через сайт: gpt-chatbot.ru ), но он часто допускает ошибки. Можете написать формулы или же Java код для расчета площади и периметра вышеперечисленных фигур. Заранее спасибо. (Тема вопроса скорее по геометрии, но тут я ее тоже размещу)

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Просветленный

Для расчета площади и периметра каждой из фигур, нужно знать формулы для каждой из них. Ниже приведены формулы для каждой из фигур:

.


Ниже приведен Java код для расчета площади и периметра каждой из фигур:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
 public abstract class Figure { 
    protected double[] sides; 
 
    public Figure(double[] sides) { 
        this.sides = sides; 
    } 
 
    public abstract double getArea(); 
 
    public abstract double getPerimeter(); 
} 
 
public class Triangle extends Figure { 
    public Triangle(double[] sides) { 
        super(sides); 
    } 
 
    @Override 
    public double getArea() { 
        double b = sides[0]; 
        double h = sides[1]; 
        return 0.5 * b * h; 
    } 
 
    @Override 
    public double getPerimeter() { 
        double a = sides[0]; 
        double b = sides[1]; 
        double c = sides[2]; 
        return a + b + c; 
    } 
} 
 
public class IsoscelesTriangle extends Triangle { 
    public IsoscelesTriangle(double[] sides) { 
        super(sides); 
    } 
 
    @Override 
    public double getPerimeter() { 
        double a = sides[0]; 
        double b = sides[1]; 
        return 2 * a + b; 
    } 
} 
 
public class EquilateralTriangle extends Triangle { 
    public EquilateralTriangle(double[] sides) { 
        super(sides); 
    } 
 
    @Override 
    public double getArea() { 
        double a = sides[0]; 
        return Math.sqrt(3) / 4 * a * a; 
    } 
 
    @Override 
    public double getPerimeter() { 
        double a = sides[0]; 
        return 3 * a; 
    } 
} 
 
public class RightTriangle extends Triangle { 
    public RightTriangle(double[] sides) { 
        super(sides); 
    } 
 
    @Override 
    public double getArea() { 
        double a = sides[0]; 
        double b = sides[1]; 
        return 0.5 * a * b; 
    } 
 
    @Override 
    public double getPerimeter() { 
        double a = sides[0]; 
        double b = sides[1]; 
        double c = Math.sqrt(a * a + b * b); 
        return a + b + c; 
    } 
} 
 
public abstract class Quadrilateral extends Figure { 
    public Quadrilateral(double[] sides) { 
        super(sides); 
    } 
 
    public abstract double getDiagonal(); 
 
    public abstract double getAngle(); 
} 
 
public class ConvexQuadrilateral extends Quadrilateral { 
    public ConvexQuadrilateral(double[] sides) { 
        super(sides); 
    } 
 
    @Override 
    public double getArea() { 
        // TODO: implement formula for area of convex quadrilateral 
        return 0; 
    } 
 
    @Override 
    public double getPerimeter() { 
        double a = sides[0]; 
        double b = sides[1]; 
        double c = sides[2]; 
        double d = sides[3 
Аватар пользователя
Искусственный Интеллект

а за каким тебе это нужно?
учить ты ничего не учишь, да и не можешь...