Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Java / Лаб5

.docx
Скачиваний:
2
Добавлен:
27.01.2022
Размер:
21.24 Кб
Скачать

Министерство образования и науки Кыргызской Республики

Кыргызский Государственный Технический Университет имени И. Раззакова

Факультет Информационных технологий 

Кафедра «Информатика и вычислительная техника»

ОТЧЕТ

По лабораторной работе №5

Бишкек 2019

Вариант 10

1) Создайте класс отрезков на координатной плоскости, описав в нём все необходимые свойства,

подобрав им понятные имена и правильные типы данных.

Опишите в классе конструктор, позволяющий при создании нового объекта явно задать все его

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

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

Создайте в классе метод, проверяющий имеют ли два отрезка хотя бы один общий конец.

С использованием построенного класса создайте два отрезка: один от точки (1;1) до точки (2;2) и

второй отрезок от точки (-3;0) до точки (1;1). Проверьте с помощью созданного метода имеют ли

отрезки общий конец и если имеют, то выведите соответствующее сообщение на экран.

2) Создайте класс углов, отложенных против часовой стрелки от положительного направления оси

абсцисс, описав в нём все необходимые свойства, подобрав им понятные имена и правильные

типы данных.

Опишите в классе конструктор, позволяющий при создании нового объекта явно задать все его

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

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

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

[0;2π).

С использованием построенного класса создайте угол в 1085° и с помощью созданного метода

вычислите и выведите на экран равный ему угол в радианах.

Код:

public class segment { int firstX; int firstY; int secondX; int secondY; private double length; public segment(int firstX, int firstY, int secondX, int secondY){ this.firstX = firstX; this.firstY = firstY; this.secondX = secondX; this.secondY = secondY; } public boolean checkNeighbor(segment neighbor){ if(neighbor.firstX==this.firstX&&neighbor.firstY==this.firstY){ System.out.println("точка:"+this.firstX+","+this.firstY); return true;} else if(neighbor.secondX == this.secondX&&neighbor.secondY==this.secondY){ System.out.println("точка:"+this.secondX+","+this.secondY); return true;} else if(neighbor.firstX == this.secondX&&neighbor.firstY==this.secondY){ System.out.println("точка:"+this.secondX+","+this.secondY); return true;} else if (neighbor.secondX == this.firstX&&neighbor.secondY==this.firstY){ System.out.println("точка:"+this.firstX+","+this.firstY); return true;} else return false; } public double getLength(){ return this.length = Math.sqrt((Math.pow((this.secondX-this.firstX),2)+Math.pow((this.secondY-this.firstY),2))); } } отдельный файл public class task1 { public static void main(String[] args) { segment A = new segment(1,1,2,2); segment B = new segment(-3,0,1,1); System.out.println("Отрезки A и В имеют общую точку:" + A.checkNeighbor(B)+"\n"); segment C = new segment(1,1,2,2); segment D = new segment(1,1,3,4); System.out.println("Отрезки C и D имеют общую точку:" + C.checkNeighbor(D)); } }

Задание 2

public class angle { int degrees; double rad; private int quarter; public angle(int degrees){ this.degrees = degrees; this.quarter = refreshQuarter(); this.rad = getRad(); } public double getRad(){ return Math.toRadians(this.degrees); } public int getQuarter(){ return this.quarter; } public void addDegrees(int degrees){ this.degrees += degrees; this.quarter = refreshQuarter(); this.rad = getRad(); } private int refreshQuarter(){ int angle = this.degrees; int quarter = 0; boolean flag = false; if(angle < 0){ angle = Math.abs(angle); flag = true; } if(angle >= 0&&angle < 90){ if(flag) quarter = 4; else quarter = 1; } else if(angle >= 90&&angle < 180) { if(flag) quarter = 3; else quarter = 2; } else if(angle >= 180&&angle < 270){ if(flag) quarter = 2; else quarter = 3; } else if(angle >= 270&&angle < 360){ if(flag) quarter = 1; else quarter = 4; } return quarter; } } class Sin extends angle{ double valueSin; public Sin(int degrees) { super(degrees); this.valueSin = getSin(); } public double getSin(){ return Math.sin(this.rad); } } class Cos extends angle{ double valueCos; public Cos(int degrees) { super(degrees); this.valueCos = getCos(); } public double getCos(){ return Math.cos(this.rad); } } Второй файл public class task2 { public static void main(String[] args) { angle k = new angle(1085); System.out.println("rad:" + k.getRad()); Sin sin = new Sin(90); System.out.println("sin:" + sin.getSin()); sin.addDegrees(90); System.out.println("sin:" + sin.getSin()); Cos cos = new Cos(1085); System.out.println("cos:" + cos.getCos()); sin.addDegrees(100); System.out.println("sin:" + sin.getSin()); System.out.println(Math.cos(Math.toRadians(90))); } }

Соседние файлы в папке Java