首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库C#专区C#基础

定义类及输出型参数求100~200之间的奇数和与偶数和

减小字体 增大字体 作者:biye5u.com  来源:本站原创  发布时间:2013-10-23 19:36:46

在本站曾经有两篇文中分别实现在主方法中直接求1~50之间的奇数和与偶数和以及在某个类中定义方法来计算并输出

本文在此基础上继续探讨在类中定义带输出型参数的方法来解决本题。具体思路如下:

(1)在类EvenOdd中定义循环的开始值和结束值;

(2)在类的构造方法中由键盘输入开始值及结束值,如果输入有误,则提示输入错误,则自动进入下一轮输入,循环直到两个数输入正确为止;

(3)在类中定义求奇数和与偶数和的方法EvenOddSum,其带有两个输出型参数even和odd,用于分别带出其偶数和与奇数和;

(4)在测试类Test中定义主方法,定义类EvenOdd的实例和两个整型变量,用于接收EvenOddSum带出的两个值,并将其输出。

从以上叙述中可知,此方法具有通用性,可以求任何区间之间的奇数和与偶数和。

此方法中仍有需要探讨的地方,如输入的结束值比开始值小的情况,此程序处理起来会出现问题。

本案例源代码如下

using System;

namespace EvenOdd2
{
    class EvenOdd
    {
        int begin; //开始值
        int over; //结束值
        bool isRight; //输入正确与否
        public EvenOdd()
        {
            isRight = false;
            while(!isRight) //循环输入,当输入正确时退出循环
            {
                try
                {
                    Console.WriteLine("请输入第一个数:");
                    begin = int.Parse(Console.ReadLine());
                    Console.WriteLine("请输入第二个数:");
                    over = int.Parse(Console.ReadLine());
                    isRight = true;
                }
                catch
                {
                    Console.WriteLine("数据格式错误,请重新输入!");
                    isRight = false;
                }
            }
        }
        /// <summary>
        /// 求出偶数和奇数之和
        /// </summary>
        /// <param name="even">输出型参数,保存偶数之和</param>
        /// <param name="odd">输出性参数,保存奇数之和</param>
        public void EvenOddSum(out int even,out int odd)
        {
            even = 0;
            odd = 0;
            for(int i = begin;i<=over;i++)
            {
                if(i%2==0)
                    even += i;
                else
                    odd += i;
            }
        }
        /// <summary>
        /// 返回开始值
        /// </summary>
        /// <returns>开始值</returns>
        public int RetBegin()
        {
            return begin;
        }
        /// <summary>
        /// 返回结束值
        /// </summary>
        /// <returns>结束值</returns>
        public int RetOver()
        {
            return over;
        }
    }
    class Test
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        static void Main(string[] args)
        {
            int evenSum,oddSum;
            EvenOdd eo = new EvenOdd();
            eo.EvenOddSum(out evenSum,out oddSum);
            Console.WriteLine("{0}~{1}之间的偶数之和为:{2},奇数之和为:
               {3}",eo.RetBegin(),eo.RetOver(),evenSum,oddSum);
        }
    }
}

运行结果为:

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

            请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

         通知管理员 验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们 |
本站大多数内容来自互联网或网站会员发布,如有侵权,请来信告之,谢谢!
Copyright © 2007-2017 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3