Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Laba2;
- public class Main {
- public static void main(String[] args) {
- Treug treug=new Treug(10,12,41);
- treug.show();
- treug.modification();
- }
- }
- ////////////////
- package Laba2;
- import java.util.Scanner;
- public class Treug {
- private double st1;
- private double st2;
- private double st3;
- private double ugol1;
- private double ugol2;
- private double ugol3;
- private double round(double value){ //округление чисел
- return value=Math.round(value*10.0)/10.0;
- }
- private double bisector(double a,double b, double c){ //вычисление биссектрисы
- return round(Math.sqrt(a*b*(a+b+c)*(a+b-c))/(a+b));
- }
- private double[] bisectorOtr(double a,double b, double c){ //вычисление отрезков, на которые бисектриса разбивает сторону
- double[] mas=new double[2];
- mas[1]=round(c/(1+a/b));
- mas[0]=round(c-mas[1]);
- return mas;
- }
- public Treug(double st1, double st2, double ugol) { //конструктор класса с параметрами
- this.st1 = st1=round(st1);
- this.st2 = round(st2);
- this.ugol1 = round(ugol);
- this.st3=round(Math.sqrt(this.st1*this.st1+this.st2*this.st2-2*this.st1*this.st2*Math.cos(Math.toRadians( this.ugol1))));
- ugol2=round(Math.toDegrees(Math.acos((this.st2*this.st2+this.st3*this.st3-this.st1*this.st1)/(2*this.st2*this.st3))));
- ugol3=round(180-ugol2-ugol1);
- }
- public void show(){ //вывод информации на консоль
- double[] mas=bisectorOtr(st3,st2,st1);
- System.out.printf("Значения сторон: %s,%s,%s\n",st1,st2,st3);
- System.out.printf("Значения углов: %s,%s,%s\n",ugol1,ugol2,ugol3);
- System.out.printf("Биссектриса 1 стороны: %s\n",bisector(st2,st3,st1));
- System.out.printf("Биссектриса 2 стороны: %s\n",bisector(st1,st3,st2));
- System.out.printf("Биссектриса 3 стороны: %s\n",bisector(st2,st1,st3));
- System.out.printf("Биссектриса разбивает сторону 1 на отрезки: %s, %s\n",mas[0],mas[1]);
- mas=bisectorOtr(st3,st1,st2);
- System.out.printf("Биссектриса разбивает сторону 2 на отрезки: %s, %s\n",mas[0],mas[1]);
- mas=bisectorOtr(st2,st1,st3);
- System.out.printf("Биссектриса разбивает сторону 3 на отрезки: %s, %s\n",mas[0],mas[1]);
- }
- public void modification(){ //уменьшение или увеличение сторон треугольника
- Scanner sc=new Scanner(System.in);
- System.out.println("ДО");
- show();
- System.out.println("Введите процент увеличения(уменьшения):");
- double proc=sc.nextDouble();
- proc=1+proc/100.0;
- st1*=proc;
- st2*=proc;
- st3*=proc;
- st1=round(st1);
- st2=round(st2);
- st3=round(st3);
- System.out.println("ПОСЛЕ");
- show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment