package ejemplos;

/**
 * Title: Tipos de triangulos
 * Description: Programa para determinar el tipo de triangulo dados tres lados
 * Copyright: Copyright (c) 2003
 * Company: UMSNH
 * author Dr. Felix Calderon Solorio
 * version 1.0
 */


public class ej022 {
  public static void main(String[] args)
  {
    double a = 1, b = 1.5, c = 2; // tamaņo de los lados
    double A, B, C; // angulos
    double suma;

    A = Math.acos( (b * b + c * c - a * a) / (2 * b * c)) * 180 / Math.PI;
    B = Math.acos( (a * a + c * c - b * b) / (2 * a * c)) * 180 / Math.PI;
    C = Math.acos( (a * a + b * b - c * c) / (2 * a * b)) * 180 / Math.PI;
    suma = A + B + C;

    System.out.println("Los lados son             = [ " + a + ", " + b + ", " +
                       c + "]");
    System.out.println("Los angulos son           = [ " + A + ", " + B + ", " +
                       C + "]");
    System.out.println("La suma de sus angulos es = " + suma);

    if (suma == 180) {
      if (a == b && b == c)
        System.out.println("Es un triangulo equilatero");
      else {
        if (A == 90 || B == 90 || C == 90)
          System.out.println("Es un triangulo rectangulo");
        else {
          if (a == b || b == c || a == c)
            System.out.println("Es un triangulo isoceles");
          else {
            if (A != B && B != C && C != A)
              System.out.println("Es un triangulo escaleno");
          }
        }
      }
    }
    else
      System.out.println("Estos valores no forman un triangulo ");
  }

}