
Respuesta :
Answer:
Explanation:
import java.io.*;
class Triangle
{
 private double side1, side2, side3; // the length of the sides of
                    // the triangle.
 //---------------------------------------------------------------
 // constructor
 //
 // input : the length of the three sides of the triangle.
 //---------------------------------------------------------------
 public Triangle(double side1, double side2, double side3)
 {
   this.side1 = side1;
   this.side2 = side2;
   this.side3 = side3;
 }
 //---------------------------------------------------------------
 // isRight
 //
 // returns : true if and only if this triangle is a right triangle.
 //---------------------------------------------------------------
 boolean isRight()
 {
   double square1 = side1*side1;
   double square2 = side2*side2;
   double square3 = side3*side3;
   if ((square1 == square2 + square3) ||
     (square2 == square1 + square3) ||
     (square3 == square1 + square2))
     return true;
   else
     return false;
 }
 // isValid
 // returns : true if and only if this triangle is a valid triangle.
 boolean isValid()
 {
   if ((side1 + side2 < side3) ||
     (side1 + side3 < side2) ||
     (side2 + side3 < side1))
     return false;
   else
     return true;
 }
 // isEquilateral
 //
 // returns : true if and only if all three sides of this triangle
 // are of the same length.
 boolean isEquilateral()
 {
   if (side1 == side2 && side2 == side3)
     return true;
   else
     return false;
 }
 // isIsosceles
 //
 // returns : true if and only if exactly two sides of this triangle
 // has the same length.
 boolean isIsosceles()
 {
   if ((side1 == side2 && side2 != side3) ||
     (side1 == side3 && side2 != side3) ||
     (side2 == side3 && side1 != side3))
     return true;
   else
     return false;
 }
 // isIsosceles
 // returns : true if and only if exactly no two sides of this
 // triangle has the same length.
 boolean isScalene()
 {
   if (side1 == side2 || side2 == side3 || side1 == side3)
     return false;
   else
     return true;
 }
}
//-------------------------------------------------------------------
// class Application
//
// This class is the main class of this application. It prompts
// the user for input to construct a triangle, then prints out
// the special properties of the triangle.
//-------------------------------------------------------------------
public class Application
{
 //---------------------------------------------------------------
 // getInput
 //
 // input : stdin - BufferedReader to read input from
 //     msg - message to prompt the user with
 // returns : a double value input by user, guranteed to be
 //      greater than zero.
 //---------------------------------------------------------------
 private static double getInput(BufferedReader stdin, String msg)
   throws IOException
 {
   System.out.print(msg);
   double input = Double.valueOf(stdin.readLine()).doubleValue();
   while (input <= 0) {
     System.out.println("ERROR : length of the side of triangle must " +
       "be a positive number.");
     System.out.print(msg);
     input = Double.valueOf(stdin.readLine()).doubleValue();
   }
   return input;
 }
 //---------------------------------------------------------------
 // printProperties
 //
 // input : triangle - a Triangle object
 // print out the properties of this triangle.
 //---------------------------------------------------------------
 private static void printProperties(Triangle triangle)
 {
   // We first check if this is a valid triangle. If not
   // we simply returns.
   if (!triangle.isValid()) {
     System.out.println("This is not a valid triangle.");
     return;
   }
   // Check for right/equilateral/isosceles/scalene triangles
   // Note that a triangle can be both right triangle and isosceles
   // or both right triangle and scalene.
  Â
   if (triangle.isRight())
     System.out.println("This is a right triangle.");
   if (triangle.isEquilateral())
     System.out.println("This is an equilateral triangle.");
   else if (triangle.isIsosceles())
     System.out.println("This is an isosceles triangle.");
   else
     // we do not need to call isScalene here because a triangle
     // is either equilateral/isosceles or scalene.
     System.out.println("This is an scalene triangle.");
 }
 // main
 // Get the length of the sides of a triangle from user, then
 // print out the properties of the triangle.
 public static void main(String args[]) throws IOException
 {
   BufferedReader stdin = new BufferedReader
     (new InputStreamReader(System.in));
   double side1 = getInput(stdin,
     "What is the length of the first side of your triangle? ");
   double side2 = getInput(stdin,
     "What is the length of the second side of your triangle? ");
   double side3 = getInput(stdin,
     "What is the length of the third side of your triangle? ");
   System.out.print("Pondering...\n");
   printProperties(new Triangle(side1, side2, side3));
 }
}