Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492

Написать программу для работы с фигурами (круг, равнобедренный прямоугольный треугольник, квадрат, эллипс)

20.02.2014, 18:36. Показов 5686. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Постигаю джаву и вот наткнулся на одну интересную задачу.
С начало думал что все легко и просто, но после нескольких часов попыток совсем запутался.
Задача:
1) Написать программу для работы с фигурами (круг, равнобедренный прямоугольный треугольник, квадрат, эллипс).
2)У каждого из классов должен быть метод, возвращающий название фигуры, а также метод, вычисляющий площадь геометрической фигуры, вписанной в прямоугольник со сторонами a и b. Это сделано!
- Много мелочей благо уже знаю как делать, но не могу понять как реализовать-
3) Значения сторон прямоугольной области должны быть скрыты (инкапсулированы) внутри класса, для доступа к этим полям должны быть разработаны открытые (публичные) методы для установки и чтения значений этих полей.
Что это? не могу понять пытался разодрать по словам, но не очень понятно.
4) Следует продумать архитектуру классов с точки зрения наследования и полиморфизма.
И еще одна загвоздка, там было указано, что на пример можно создать несколько значений А и Б, потом из них выбрать и применить к фигурам(формулам). И так же удалять значения А и Б.
Если кто то понял мой бред, подскажите в какую сторону копать?
Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2014, 18:36
Ответы с готовыми решениями:

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

В Paintbox вписать в круг треугольник, потом квадрат, и равнобедренный треугольник
Int a=StrToInt (Edit1->Text); PaintBox->Canvas->Ellipse(200-a/2,200-a/2,200+a/2,200+a/2);нарисовал круг, а как вписать в него другие...

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

12
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
21.02.2014, 12:28
Цитата Сообщение от qdhtnsoyndtr Посмотреть сообщение
3) Значения сторон прямоугольной области должны быть скрыты (инкапсулированы) внутри класса, для доступа к этим полям должны быть разработаны открытые (публичные) методы для установки и чтения значений этих полей.
К примеру,

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Circle {
    private double x;
    private double y;
    public double getX() {
        return x;
    }
    public void setX(double x) {
        this.x = x;
    }
    public double getY() {
        return y;
    }
    public void setY(double y) {
        this.y = y;
    }
}
Объявление переменных, как private - инкапсулирует их.
Java
1
2
    private double x;
    private double y;
Добавлено через 4 минуты
Цитата Сообщение от qdhtnsoyndtr Посмотреть сообщение
4) Следует продумать архитектуру классов с точки зрения наследования и полиморфизма.
Создайте абстрактный класс Figure, от которого будут наследоваться все фигуры. Объявите в нем общие для всех фигур методы и поля.

Например, по вашему заданию, создайте метод вычисления площади (абстрактный) и переопределяйте его в каждом классе конкретной фигуры. Далее, создавайте переменную типа Figure, ссылайтесь ей на конкретный класс, и вызывайте метод вычисления площади.

Java
1
2
3
4
Figure circle = new Circle();
circle.getSquare();
Figure triangle = new Triangle();
triangle.getSquare();
это и будет проявления полиморфизма)

Добавлено через 38 секунд
Цитата Сообщение от qdhtnsoyndtr Посмотреть сообщение
И еще одна загвоздка, там было указано, что на пример можно создать несколько значений А и Б, потом из них выбрать и применить к фигурам(формулам). И так же удалять значения А и Б.
Если кто то понял мой бред, подскажите в какую сторону копать?
Не понятно, что вы хотели этим сказать)
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
21.02.2014, 12:45  [ТС]
Понял, вот с последним мне подсказали что там надо использовать коллекции. Если дадите статейку по подробней буду благодарен. А то гуглил и как то не очень понятно
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
21.02.2014, 12:49
Почитайте раздел Коллекции в книге Хорстмана 1 Том "Java Core". Там все хорошо написано, как ими пользоваться!

Добавлено через 37 секунд
Она есть на русском языке. Мест в инете полно, где можно ее скачать в PDF или FB2
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
21.02.2014, 16:22  [ТС]
Так не много покавырявшись в коллекции представления есть но не могу найти примеры (самые простые).
Если не сложно, то можно несколько примеров, в которых показано как вызывать коллекцию, как создавать в ней объекты и как удалять.
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
21.02.2014, 18:20
Например, List (я думаю он вам подойдет)
Java
1
2
3
4
5
6
7
8
9
List<Figure> list = new ArrayList<Figure>(); // создаем лист
    Figure circle = new Circle(); // произвольная фигура
    Figure square = new Square() // произвольная фигура
    Figure triangle = new Triangle() // произвольная фигура
    list.add(circle); //добавляем в список
    list.add(square); //добавляем в список
    list.add(triangle); //добавляем в список
    System.out.println(list); //печатаем список
    Figure mycircle = list.get(1); // получаем элемент с индексом 1
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
21.02.2014, 19:07  [ТС]
а что делает последняя строчка?
Возвращает 1 значение?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
21.02.2014, 19:08
переменную mycircle ссылаем на объект под номером 1)
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
21.02.2014, 19:10  [ТС]
аааа что то тупанул)
Так не много понял.
А как реализовать если мы вводим 2 переменные? Как нам их запомнить? Что бы при вызове показывались именно они?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
21.02.2014, 19:16
для этого есть такой интерфейс, как Map - ассоциативный массив. В нем хранятся пары ключ-значение.

Java
1
2
3
Map<String, Figure> map = new TreeMap<String, Figure>();
    Figure circle = new Circle();
    map.put("Это шарик", circle);
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
21.02.2014, 19:19  [ТС]
Так, допустим
Java
1
map.put(5, 10);
Теперь мне надо произвести действия с этими значениями, как их вызвать что бы они встали на переменные?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
21.02.2014, 19:21
Вот почитайте!

Добавлено через 1 минуту
блин, если вам нужно хранить 2 значения, вам никакой Map не нужен. Просто в ArrayList записывайте методом add().
Java
1
2
3
4
list.add(5);
list.add(10);
int i = list.get(0); // 5
int j = list.get(1); // 10
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
21.02.2014, 20:17  [ТС]
Понимаю замучал последний на сегодня вопрос, как сделать что бы записывала переменую?
Т.е. не значение писать а переменную double а?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.02.2014, 20:17
Помогаю со студенческими работами здесь

Процедура позволяет рисовать треугольник по координатам вершин трёх точек. Нарисовать прямоугольный треугольник, и равнобедренный
помогите пожалуйста решить, срочно нужно на экзамен...жду вашей помощи) 1)Процедура позволяет рисовать треугольник по координатам вершин...

Написать программу для работы с геометрическими фигурами
Доброго всем дня! дали задачу, от решения которой зависит, будут ли меня далее учить чему-то. Сидела неделю, читая разные темы и коды и...

прямоугольный равнобедренный треугольник
Через гипотенузу прямоугольного равнобедренного треугольника проведено плоскость,которая образует с плоскостью треугольника 45...

Нарисовать прямоугольный равнобедренный треугольник
Задано целое число. Используя средства стандартного ввода-вывода, изобразить на экране прямоугольный равнобедренный треугольник, катеты...

Изобразить на экране прямоугольный равнобедренный треугольник
Ребята, помогите. Задано целое число. Используя средства стандартного ввода-вывода, изобразить на экране прямоугольный равнобедренный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru