sfrsnyz

Вобликова ЯП2

May 26th, 2021
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. package Laba2;
  2.  
  3. public class Main {
  4. public static void main(String[] args) {
  5. Treug treug=new Treug(10,12,41);
  6. treug.show();
  7. treug.modification();
  8. }
  9. }
  10.  
  11. ////////////////
  12. package Laba2;
  13.  
  14. import java.util.Scanner;
  15.  
  16. public class Treug {
  17. private double st1;
  18. private double st2;
  19. private double st3;
  20. private double ugol1;
  21. private double ugol2;
  22. private double ugol3;
  23.  
  24. private double round(double value){ //округление чисел
  25. return value=Math.round(value*10.0)/10.0;
  26. }
  27. private double bisector(double a,double b, double c){ //вычисление биссектрисы
  28. return round(Math.sqrt(a*b*(a+b+c)*(a+b-c))/(a+b));
  29. }
  30. private double[] bisectorOtr(double a,double b, double c){ //вычисление отрезков, на которые бисектриса разбивает сторону
  31. double[] mas=new double[2];
  32. mas[1]=round(c/(1+a/b));
  33. mas[0]=round(c-mas[1]);
  34. return mas;
  35. }
  36. public Treug(double st1, double st2, double ugol) { //конструктор класса с параметрами
  37. this.st1 = st1=round(st1);
  38. this.st2 = round(st2);
  39. this.ugol1 = round(ugol);
  40. this.st3=round(Math.sqrt(this.st1*this.st1+this.st2*this.st2-2*this.st1*this.st2*Math.cos(Math.toRadians( this.ugol1))));
  41. ugol2=round(Math.toDegrees(Math.acos((this.st2*this.st2+this.st3*this.st3-this.st1*this.st1)/(2*this.st2*this.st3))));
  42. ugol3=round(180-ugol2-ugol1);
  43.  
  44. }
  45. public void show(){ //вывод информации на консоль
  46. double[] mas=bisectorOtr(st3,st2,st1);
  47. System.out.printf("Значения сторон: %s,%s,%s\n",st1,st2,st3);
  48. System.out.printf("Значения углов: %s,%s,%s\n",ugol1,ugol2,ugol3);
  49. System.out.printf("Биссектриса 1 стороны: %s\n",bisector(st2,st3,st1));
  50. System.out.printf("Биссектриса 2 стороны: %s\n",bisector(st1,st3,st2));
  51. System.out.printf("Биссектриса 3 стороны: %s\n",bisector(st2,st1,st3));
  52. System.out.printf("Биссектриса разбивает сторону 1 на отрезки: %s, %s\n",mas[0],mas[1]);
  53. mas=bisectorOtr(st3,st1,st2);
  54. System.out.printf("Биссектриса разбивает сторону 2 на отрезки: %s, %s\n",mas[0],mas[1]);
  55. mas=bisectorOtr(st2,st1,st3);
  56. System.out.printf("Биссектриса разбивает сторону 3 на отрезки: %s, %s\n",mas[0],mas[1]);
  57. }
  58. public void modification(){ //уменьшение или увеличение сторон треугольника
  59. Scanner sc=new Scanner(System.in);
  60. System.out.println("ДО");
  61. show();
  62. System.out.println("Введите процент увеличения(уменьшения):");
  63. double proc=sc.nextDouble();
  64. proc=1+proc/100.0;
  65. st1*=proc;
  66. st2*=proc;
  67. st3*=proc;
  68. st1=round(st1);
  69. st2=round(st2);
  70. st3=round(st3);
  71. System.out.println("ПОСЛЕ");
  72. show();
  73. }
  74. }
  75.  
Advertisement
Add Comment
Please, Sign In to add comment