zoukankan      html  css  js  c++  java
  • 问题 D: 接口实例(C#,IShape)

    题目描述

    接口实例。接口和类如下图所示,根据给出代码,补写缺失的代码,然后在Program类的静态Main方法中验证所实现的类。

    using System;
    namespace Myinterface
    {
        public interface IShape
        {
            double Perimeter();
            double Area();
        }
        class Circle : IShape
        {
            public double Radius { get; set; }
            public Circle(double r)
            {
                Radius = r;
            }
            public double Area()
            {
                return Math.PI * Radius * Radius;
            }
            public double Perimeter()
            {
                return 2 * Math.PI * Radius;
            }
        }
        class Rectangle : IShape
        {
                /////////////////////////////////////////////////////////////////
                
                //请填写代码,实现输出矩形的面积和周长

                /////////////////////////////////////////////////////////////////
            
        }

        class Program
        {
            static void Main(string[] args)
            {
                double w, h;
                double.TryParse(Console.ReadLine(), out w);
                double.TryParse(Console.ReadLine(), out h);
                Rectangle r = new Rectangle(w, h);
                Console.WriteLine("area={0},Perimeter={1}",r.Area(), r.Perimeter());
            }
        }
    }

    输入

    输入矩形长、高,如
    10
    3

    输出

    area=30,Perimeter=26

    样例输入

    10
    3

    样例输出

    area=30,Perimeter=26

    提示

    需要考虑输入非数字、负数等

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace 接口实例
    {
        public interface IShape
        {
            double Perimeter();
            double Area();
        }
        class Circle : IShape
        {
            public double Radius { get; set; }
            public Circle(double r)
            {
                Radius = r;
            }
            public double Area()
            {
                return Math.PI * Radius * Radius;
            }
            public double Perimeter()
            {
                return 2 * Math.PI * Radius;
            }
        }
        class Rectangle : IShape
        {
            public double Height { get; set; }
            public double Length { get; set; }
            public Rectangle(double l, double h)
            {
                Height = h;
                Length = l;
            }
            public double Area()
            {
                if (Height <= 0 || Length <= 0)
                {
                    return 0;
                }
                return Height * Length;
            }
            public double Perimeter()
            {
                if (Height <= 0 || Length <= 0)
                {
                    return 0;
                }
                return (Height + Length) * 2;
            }
    
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                double w, h;
                double.TryParse(Console.ReadLine(), out w);
                double.TryParse(Console.ReadLine(), out h);
                Rectangle r = new Rectangle(w, h);
                Console.WriteLine("area={0},Perimeter={1}", r.Area(), r.Perimeter());
            }
        }
    }
    

      

  • 相关阅读:
    Selenium快速入门(下)
    Selenium快速入门(上)
    Python中yield和yield from的用法
    Python多进程
    Spring Cloud微服务安全实战_3-5_API安全之常见问题
    Spring Cloud微服务安全实战_3-3_API安全之流控
    Spring Cloud微服务安全实战_3-2_第一个API及注入攻击防护
    Spring Cloud微服务安全实战_3-1_API安全 常见的安全机制
    Spring Cloud微服务安全实战_2-1_开发环境
    Spring Cloud微服务安全实战_1-1_导学
  • 原文地址:https://www.cnblogs.com/mjn1/p/12619083.html
Copyright © 2011-2022 走看看