public class Triangle { double side1; double side2; double side3; public Triangle(double side1, double side2, double side3) { if(radicand(side1, side2, side3) < 0) { throw new IllegalArgumentException(); } this.side1 = side1; this.side2 = side2; this.side3 = side3; } public double diameter() { return Math.max(side1, Math.max(side2, side3)); } public double perimeter() { return side1 + side2 + side3; } private static double radicand(double a, double b, double c) { double s = (a + b + c)/2; return s*(s - a)*(s - b)*(s - c); } public double area() { return Math.sqrt(radicand(side1, side2, side3)); } }