Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
 Аватар для Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314

Класс круг

17.09.2012, 16:12. Показов 7213. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем) Начал делать задачу, вот условие:
Клаcc CCircle oписывает круг.
Свoйства класса:
• кooрдинаты тoчки центра круга x, y;
• рaдиус R;
• плoщадь S;
• пeримeтр P.
Методы класса:
• кoнструктoр: присвoение нулевых значений свойствам класса;
• ввод пoльзователем значений кooрдинат точки центра круга и радиуса;
• вычисление и вывод на экран значения плoщади круга;
• вычисление и вывод на экран значения периметра круга;
• oпределение, лежит ли внутри круга точка, кooрдинаты которой вводит пользователь.
Сам код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import java.util.Scanner;
 
class Point {
    public double x; // абсцисса точки
    public double y; // ордината точки
 
    // возвращает строку с описанием точки
    public String toString() {
        return "("+x+";"+y+")";
    }
    // выводит на экран описание точки
    public void print() {
        System.out.print(this.toString());
    }
    // метод перемещает точку на указанный вектор
    public void move(double a, double b) {
        x = x + a;
        y = y + b;
    }
    // метод изменяет координаты точки на указанные
    public void set(double a, double b) {
        x = a;
        y = b;
    }
    // конструктор по умолчанию, создающий точку с указанными пользователем координатами
    public Point() {
        boolean err;
        do {
            err = false;
            System.out.print("Введите абсциссу точки: ");
            Scanner scan = new Scanner(System.in);
            if(scan.hasNextDouble()) {
                x = scan.nextDouble();
            } else {
                System.out.println("Вы ввели не число, попробуйте снова");
                err = true;
            }
        } while (err);
        do {
            err = false;
            Scanner scan = new Scanner(System.in);
            System.out.print("Введите ординату точки: ");
            if(scan.hasNextDouble()) {
                y = scan.nextDouble();
            } else {
                System.out.println("Вы ввели не число, попробуйте снова");
                err = true;
            }
        } while (err);        
    }
    // конструктор, создающий точку с указанными координатами
    public Point(double a, double b) {
        x = a;
        y = b;
    }  
    // метод вычисляющий расстояние между точками
    public double length(Point p) {
        return Math.sqrt( Math.pow(p.x-x,2) + Math.pow(p.y-y,2) );
    }
    // метод проверяющий совпадают ли точки
    public boolean equalsPoint(Point p) {
        if(this.x == p.x && this.y == p.y) {
            return true;
        } else {
            return false;
        }
    }   
}
 
class Circle {
    public double r; // радиус
    public Point c; // центр
    
    // возвращает строку с описанием окружности
    public String toString() {
        return "Окружность с центром в точке " + c + " и радиусом " + r;
    }  
    // выводит на экран описание окружности
    public void print() {
        System.out.print(this.toString());
    }    
    // метод перемещает центр окружности на указанный вектор
    public void move(double a, double b) {
        c.move(a, b);
    }
    // метод изменяет окружность, перемещая центр в указанные координаты и меняя радиус
    public void set(double a, double b, double m) {
        c.set(a, b);
        r = m;
    }    
    // метод изменяет окружность, перемещая центр в указанную точку и меняя радиус
    public void set(Point p, double m) {
        c.set(p.x, p.y);
        r = m;
    }   
    // конструктор по умолчанию, создающий окружность с указанными пользователем параметрами
    Circle () {
        System.out.println("Задайте центр окружности:");
        c = new Point();
        boolean err;
        do {
            err = false;
            Scanner scan = new Scanner(System.in);
            System.out.print("Задайте радиус: ");
            if(scan.hasNextDouble()) {
                r = scan.nextDouble();
                if (r <= 0) {
                   System.out.println("Радиус окружности должен быть положительным");
                   err = true;
                }
            } else {
                System.out.println("Вы ввели не число, попробуйте снова");
                err = true;
            }
        } while (err);        
    }
    Circle (double a, double b, double m) {
        c.set(a, b);
        r = m;
    }      
    // метод вычисляющий длину окружности
    public double length(Point p) {
        return 2*Math.PI*r;
    }
    // метод проверяющий, совпадают ли две окружности
    public boolean equalsCircle(Circle o) {
        if(this.r == o.r && c.equalsPoint(o.c)) {
            return true;
        } else {
            return false;
        }
    }      
}
 
public class Main {
    public static void main(String[] args) {
        Circle o1 = new Circle();
        o1.print();
    }
}
Помогите доделать программу и убрать в ней все лишнее))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.09.2012, 16:12
Ответы с готовыми решениями:

Создать класс Круг. Написать методы расчета площади и длины окружности
Создать класс Круг. Описать его двумя полями: радиус, диаметр. Введенное может быть...

Создать класс, представляющий обучающий класс ClassRoom. Создайте класс ученик Pupil. В теле класса создайте методы void
Добрый день.помогите пожалуйста новичку с решением.буду очень благодарен .заранее благодарю.сам не...

Пульсирующий круг
У меня задание нарисовать круг и сделать анимацию его пульсации по нажатию кнопок старт и...

8
 Аватар для Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
21.09.2012, 11:25  [ТС]
Ребят, что никто java не изучает?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.09.2012, 15:02
отсутствует вопрос, поэтому нет ответов
0
 Аватар для Sum42
78 / 10 / 2
Регистрация: 11.10.2010
Сообщений: 88
22.09.2012, 23:33
Вася1q, что доделать то ?
0
 Аватар для Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
25.09.2012, 07:21  [ТС]
mutagen, вопрос есть..мне нужно найти площадь и периметр, а в данном коде это не реализуется.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
25.09.2012, 08:18
Нахождение периметра реализовано - метод lenght.
Площадь:
Java
1
double area = Math.PI*r*r;
0
 Аватар для Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
29.09.2012, 21:59  [ТС]
Как теперь вывести расчет площади и длины окружности на экран? Скажите пожалуйста!
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
01.10.2012, 08:09
Добавить вызов нужных методов в метод main.
Вывод на консоль - System.out.println
Java
1
System.out.println(o1.length());
0
 Аватар для Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
01.10.2012, 18:25  [ТС]
turbanoff, признаюсь честно, я полный ноль в java. Вообще полное дно. Вставь, пожалуйста, полный код) Будь альтруистом)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2012, 18:25
Помогаю со студенческими работами здесь

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

Даны площадь круга и площадь квадрата. Определить, поместится ли этот круг внутри этого квадрата
Помогите с задачей :) Даны площадь круга и площадь квадрата. Определить, поместится ли этот круг...

Как нарисовать круг от центра
g.drawOval(x2, y2, width, height); не подходит так как точка x2, y2 верхного левого угла

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

Хочу написать программу, в которой круг плавно двигается
Здравствуйте, ув. форумчане! Хочу написать программу, в которой круг плавно двигается. Он должен...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru