题目
自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(x,y,z)分别 给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,
* 这2个方法中当三条边不能构成一个三角形时要抛出自定义异常SjException,
* 否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。
Sanj类
package com.sy.day03.work.Exception;
/**
* @Author: ShenYang
* @Date: 2023-06-14-20:13
* @Description: TODO
* <p>
* comment:
* <p>
* 自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(x,y,z)分别 给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,
* * 这2个方法中当三条边不能构成一个三角形时要抛出自定义异常SjException,
* * 否则显示正确信息。
**/
public class Sanj {
private int x, y, z;
Double getArea(){
try {
if (x + y < z || x + z < y || z + y < x) {
throw new SjException("不能构成三角形");
}
}catch (SjException e) {
e.printStackTrace();
}
double p =(x+y+z)/2.0;
double D = p*(p-x)*(p-y)*(p-z);
return Math.sqrt(D);
}
void showInfo(){
try {
if (x + y < z || x + z < y || z + y < x) {
throw new SjException("不能构成三角形");
} else {
System.out.println("三角形三条边 : " + x + ", " + y + ", " + z);
}
}catch (SjException e) {
e.printStackTrace();
}
}
public Sanj(int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
}
Main类
package com.sy.day03.work.Exception;
/**
* @Author: ShenYang
* @Date: 2023-06-14-20:13
* @Description: TODO
* <p>
* comment:
*
* 自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(x,y,z)分别 给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,
* 这2个方法中当三条边不能构成一个三角形时要抛出自定义异常SjException,
* 否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。
**/
public class Sanj_Main {
public static void main(String[] args) {
Sanj sanj = new Sanj(2, 7, 2);
sanj.showInfo();
System.out.println(sanj.getArea());
}
}
结果: