public class Main { public static void main(String [ ] args) { Scanner in=new Scanner(System.in); double side1,side2,side3; side1=in.nextDouble(); side2=in.nextDouble(); side3=in.nextDouble(); //下面的代码创建Triangle对象,使用try catch处理异常 .... } class Triangle { private double side1; private double side2; private double side3; public Triangle(double side1,double side2,double side3) throws IllegalTriangleException {//初始化,如果出现两条边之和小于等于第三边,则抛出 IllegalTriangleException异常对象 .... } } class IllegalTriangleException extends Exception {//下面的代码定义异常类 ... }
时间: 2024-02-15 22:28:25 浏览: 24
这段代码定义了一个名为Main的public类,该类包含一个名为main的public静态方法。在该方法中,使用Scanner类读取了三个double类型的数据,分别表示三角形的三条边。然后,使用try-catch语句创建了一个Triangle对象,并处理了可能抛出的IllegalTriangleException异常。
Triangle类是一个自定义类,包含了三个私有double类型的成员变量side1、side2和side3,分别表示三角形的三条边。Triangle类的构造函数使用了throws关键字声明了可能抛出的IllegalTriangleException异常。
IllegalTriangleException类是一个自定义异常类,继承自Exception类。它包含了一个无参的构造函数和一个带有一个String类型参数的构造函数,用于创建异常对象时传递错误信息。在Triangle类的构造函数中,如果出现了两条边之和小于等于第三边的情况,就会抛出一个IllegalTriangleException异常对象。
相关问题
//需要键盘录入,导入Scanner包 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in=new Scanner(System.in); double side1,side2,side3; side1=in.nextDouble(); side2=in.nextDouble();
side3=in.nextDouble();
if (side1 <= 0 || side2 <= 0 || side3 <= 0) {
System.out.println("输入错误,三角形边长必须大于零!");
} else if (side1 + side2 <= side3 || side1 + side3 <= side2 || side2 + side3 <= side1) {
System.out.println("输入错误,输入的三条边无法构成三角形!");
} else {
double p = (side1 + side2 + side3) / 2;
double area = Math.sqrt(p * (p - side1) * (p - side2) * (p - side3));
System.out.println("该三角形的面积为:" + area);
}
}
}
(需要键盘输入三角形的三条边长,然后计算并输出三角形的面积)
import java.util.Scanner; class HexagonArea { public static void main(String[] args) { double side; Scanner input1=new Scanner(System.in); System.out.printf("Enter the side:"); side=input1.nextDouble(); double area; area=(3.0*Math.sqrt(3.0)/2.0)*side*side; System.out.printf("The area of the hexagon if %.14f",area); } }生成UML图
抱歉,我无法生成UML图。但是,下面是该Java程序的类图:
```
+----------------+ +----------------+
| HexagonArea | | Scanner |
+----------------+ +----------------+
| - main(args:[]) | | + nextDouble() |
+----------------+ +----------------+
| |
| uses |
| |
+------------------+ +------------------+
| System.out | | Double |
+------------------+ +------------------+
| |
| uses |
| |
+----------------------------------------------+
| Math |
+----------------------------------------------+
| |
| uses |
| |
+----------------------------------------------+
| PrintWriter |
+----------------------------------------------+
```