C#方法的练习

练习题目要求

提示用户输入两个数字 计算这两个数字之间所有整数的和
1.用户只能输入数字
2.计算两个数字之间的和
3.要求第一个数字必须比第二个数字小 否则重新输入

using System;
using System.Reflection.Metadata.Ecma335;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入第一个数字");
            string strNumberOne = Console.ReadLine();
            int numberOne = GetNumber(strNumberOne);
            
            Console.WriteLine("请输入第二个数字");
            string strNumberTwo = Console.ReadLine();
            int numberTwo = GetNumber(strNumberTwo);
            
            JudgeNumber(ref numberOne, ref numberTwo);//调用函数内部改变的参数加ref
            int sum = GetSum(numberOne, numberTwo);
            Console.WriteLine(sum);
        }

        public static int GetNumber(string s)//用户输入的是字符串类型,方法的作用是先把字符串类型转换为int类型
        {
            while (true)
            {
                try
                {
                    int number = Convert.ToInt32(s);//当用户输入的是数字时,转换成功直接返回int类型的值
                    return number;
                }
                catch
                {
                    Console.WriteLine("输入有误,请重新输入");//当用户输入的是其他类型的值的时候,会抛出异常,并且让用户重新输入
                    s = Console.ReadLine();//把整个程序放到循环里,直到用户输入正确的类型,才会跳出循环
                }
            }
        }

        public static void JudgeNumber(ref int n1, ref int n2)//作用是判断第一个值和第二个值的大小
        {       //注意:这里用ref参数,为了使主函数里的参数能调用到这个函数中,并且再将已经改变的参数再调用出去
            while (true)
            {
                if (n1 < n2)//当第一个值小于第二个值的时候符合题意,return直接跳出循环
                {
                    return;
                }
                else//当不满足n1>n2时,会出现提示并让用户重新输入,用户输入的第一个值<第二个值才会跳出循环
                {
                    Console.WriteLine("第一个数字不能大于第二个数字,请重新输入第一个数字");
                    string s1 = Console.ReadLine();
                    n1 = GetNumber(s1);
                    Console.WriteLine("请重新输入第二个数字");
                    string s2 = Console.ReadLine();
                    n2 = GetNumber(s2);
                }
            }
        }

        public static int GetSum(int n1, int n2)//第一个数到第二个数之间的累加求和
        {
            int sum = 0;
            for (int i = n1; i <= n2; i++)
            {
                sum += i;
            }

            return sum;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值