zoukankan      html  css  js  c++  java
  • C#实现乘幂函数

    1. 首先,直接给出函数的具体实现,如下:
            static double Power(double baseNume, int exp)
            {
                if (baseNume.Equals(0))
                {
                    throw new NullBaseException();
                }
                else
                {
                    double mul = 1.0;
                    if (exp != 0)
                    {
                        while (exp > 0)
                        {
                            mul *= baseNume;
                            exp--;
                        }
                    }
                    else
                    {
                        mul = baseNume;
                    }
                    return mul;
                }
            }
    

    1. 在上面的函数中,可以发现我抛出了一个异常,叫做 NullBaseException,这个异常是我自己定义的,系统中没有给出。那么问题来了,如何在C#中自定义异常呢?

    1. 在C#中自定义异常,可以采用继承系统异常并重写的机制,如下所示(注意其中的构造函数):
    using System;
    
    class NullBaseException : Exception
    {
        public NullBaseException(
            string message = "The Base should not be Null or zero!"
        ) :
            base(message)
        {
            //pass
        }
    
        public override string Message
        {
            get
            {
                return base.Message;
            }
        }
    }
    

    1. 由是,即可完成一个简单的乘幂函数,而且其运行效率也比较高。最后给出完整的代码,包含测试部分:
    using System;
    
    namespace PowerFunc
    {
        class Program
        {
            static void Main(string[] args)
            {
                double res = Power(5.5, 3);
                Console.WriteLine (res);
            }
    
            static double Power(double baseNume, int exp)
            {
                if (baseNume.Equals(0))
                {
                    throw new NullBaseException();
                }
                else
                {
                    double mul = 1.0;
                    if (exp != 0)
                    {
                        while (exp > 0)
                        {
                            mul *= baseNume;
                            exp--;
                        }
                    }
                    else
                    {
                        mul = baseNume;
                    }
                    return mul;
                }
            }
        }
    }
    
    




    作者:艾孜尔江

  • 相关阅读:
    javascript 日期月份加减
    ActiveRecord 的类型初始值设定项引发异常
    angularjs $q、$http 处理多个异步请求
    angular.foreach 格式
    PHP基础知识2
    第一个月的学习总结
    JavaScript的学习5
    JavaScript的学习4
    JavaScript的学习3
    JavaScript的学习2
  • 原文地址:https://www.cnblogs.com/ezhar/p/13884510.html
Copyright © 2011-2022 走看看