weixin_52386338 2021-10-12 14:04 采纳率: 83.3%
浏览 46
已结题

Java的编程题,希望各位能解答解答

1、定义一个接口,包括两个方法:求三角形面积和求圆面积;
2、自定义异常类:当三角形的两边长度之和小于第三边,抛出异常;
3、定义一个类,实现上述接口,及异常处理;4、在PUBLIC CLASS中通过键盘输入相应的数值, 当发生异常时,程序会提示异常; 当没有异常发生时,程序会正确输出所求结果;

  • 写回答

2条回答 默认 最新

  • 安自李 2021-10-12 16:36
    关注
    /*
    接口
    */
    public interface Method {
        void CircularArea(double r);
        void TriangleArea(double x, double y, double z) throws TriangleException;
    }
    /*
    实现类
    */
    public class MethodImpl implements Method{
    
        @Override
        public void CircularArea(double r) {
            double p=3.14;
            double area=p*r*r;
            System.out.println(area);
        }
    
        @Override
        public void TriangleArea(double x, double y, double z) throws TriangleException {
            if (x + y > z && x + z > y && y + z > x) {
                double p = (x + y + z) / 2;
                double area = Math.sqrt(p * (p - x) * (p - y) * (p - z));
                System.out.println(area);
            } else {
                throw new TriangleException("你输入的数据不能构成三角形");
            }
        }
    }
    /*
    自定义异常
    */
    public class TriangleException extends Exception{
        public TriangleException() {
        }
    
        public TriangleException(String message) {
            super(message);
        }
    }
    /*
    Main测试类
    */
    public class Main {
        public static void main(String[] args) throws TriangleException {
            Method m=new MethodImpl();
            Scanner sc=new Scanner(System.in);
            //圆
            System.out.println("请输入圆的半径:");
            double r=sc.nextByte();
            System.out.print("圆的面积为:");
            m.CircularArea(r);
            System.out.println("---------------");
            //三角形
            System.out.println("请输入三角形边a:");
            double x=sc.nextByte();
            System.out.println("请输入三角形边b:");
            double y=sc.nextByte();
            System.out.println("请输入三角形边c:");
            double z=sc.nextByte();
            System.out.print("三角形的面积为:");
            m.TriangleArea(x,y,z);
    
        }
    }
    

    正常数据运行结果:

    img


    异常数据:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c