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());
            }
        }
    }
    

      

  • 相关阅读:
    Spark Streaming 的容错
    Master 接受其它组件的注册
    Spark Context 概述
    Python 使用random模块生成随机数
    Python 中print 和return 的区别
    Python 访问字典(dictionary)中元素
    PIL:处理图像的好模块
    2.线性回归
    3.梯度下降法
    4.pca与梯度上升法
  • 原文地址:https://www.cnblogs.com/mjn1/p/12619083.html
Copyright © 2011-2022 走看看