方法小练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _15方法练习
{
    class Program
    {
        static void Main(string[] args)
        {
            // 提示用户输入两个数字  计算这两个数字之间所有整数的和
            //1、用户只能输入数字
            //2、计算两个数字之间和
            //3、要求第一个数字必须比第二个数字小  就重新输入
            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);

            //求和
            int sum = GetSum(numberOne, numberTwo);
            Console.WriteLine(sum);
            Console.ReadKey();

        }

        public static void JudgeNumber(ref int n1, ref int n2)
        {
            while (true)
            {
                if (n1 < n2)
                {
                    //复合题意
                    return;
                }
                else//>=2
                {
                    Console.WriteLine("第一个数字不能大于或者等于第二个数字,请重新输入第一个数字");
                    string s1 = Console.ReadLine();
                    //调用GetNumber
                    n1 = GetNumber(s1);
                    Console.WriteLine("请重新输入第二个数字");
                    string s2 = Console.ReadLine();
                    n2 = GetNumber(s2);
                }

            }

        }
        public static int GetNumber(string s)
        {
            while (true)
            {
                try
                {
                    int number = Convert.ToInt32(s);
                    return number;
                }
                catch
                {
                    Console.WriteLine("输入有误!!!请重新输入");
                    s = Console.ReadLine();

                }
            }
        }

        public static int GetSum(int n1, int n2)
        {
            int sum = 0;
            for (int i = n1; i <= n2; i++)
            {
                sum += i;
            }
            return sum;
        }
    }
}
时间: 2024-10-12 09:26:50

方法小练习的相关文章

cocos2dx3.2 绘图方法小改动之 C++ final学习

今天用cocos2dx 3.2版本学习绘图功能, 于是我重载Node 的draw方法,发现报错, 点击方法进入到Node下 发现draw()方法后面多了一个 final. 下面我简单讲解一个下final的用途 1 final类: final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的.在设计 类的时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确认这个类不会被 扩展,那么就设计为final类.final方法不可以被子类方法覆盖,但可以被继承. 2 fin

express4.x Request对象获得参数方法小谈【原创】

最近看完慕课网 “node.js 建站攻略”后, 对mongodb 操作有了进一步认识, 为了进一步巩固该数据库知识, 于是使用学到的知识搭建一个最简单的mongoDemo. 搭建完成后已放到Github分享, 详情请戳 mongoDemo源码 感兴趣的小伙伴可以看看:回到主题, 完成该小项目后对nodejs后台开发有了一些小悟,本文就req 最常用的参数获取做个小结: node.js后台开发基本都会碰到使用 req.param().req.params . req.query. req.bod

《java入门第一季》之类(String类常见方法小叙)

String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc"也可以看成是一个字符串对象. * B:字符串是常量,一旦被赋值,就不能被改变. * * 构造方法: * public String():空构造 * public String(byte[] bytes):把字节数组转成字符串 * public String(byte[] bytes,int index,i

JavaScript常用标签和方法小总结

//事件(事件监听) : //标签对象.事件监听.function(){执行的代码,找对象,找属性,改属性};    事件源.触发一个事件.调用一个方法.方法找执行代码找对象,找属性,改属性(或者用属性,增删改查)           onmouseover 鼠标移到某个元素之上           onmouseout  鼠标移开某个元素           onkeydown   键盘按下去(就是一直按着)           onkeypress  键盘按下去再松开(就是点击 按下去再松开

Oracle修改字段类型方法小技巧

有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时

【6.30】方法小知识和技巧

1):Stack栈溢出: java.lang.StackOverflowError 栈溢出异常,当调用方法时,相互调用时容易出现栈溢出.如: m1(){m2()};   m2(){m1()}   这2个方法就出现了相互调用 2):什么时候写实例方法,什么时候写静态方法:静态方法不需要依赖类中的属性,能在这个方法中封闭完成,实例方法更多的会使用到类中的属性.但是静态方法会占用过多的内存. 3):类中全局变量和局部变量       全局变量不一定要初始化,而局部变量使用前必须初始化. 当全局变量和局

javascript中数组方法小计

一:数组的常用方法: 1:join(); 将数组转为字符串显示.不输入参数,默认以逗号连接:输入参数,则以参数连接. var arr=[1,2,3]; console.log(arr.join()); // 1,2,3; console.log(arr.join("_")); // 1_2_3; console.log(arr); // [1,2,3]; 原数组不变. 2:reverse(); 将数组逆序排列,原数组被修改. var arr=[1,2,3]; var arr2=arr.

Vue组件vue-router使用方法小测

1.首先下载并载入js脚本: <script type="text/javascript" src="./vue.js" ></script> <script type="text/javascript" src="./vue-router.js" ></script> 2.创建一个实例供vue使用: <div id="wrap"> <rou

cocos2dx3.2 画图方法小修改之 C++ final学习

今天用cocos2dx 3.2版本号学习画图功能, 于是我重载Node 的draw方法.发现报错, watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamhvbmxpZ2h0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 点击方法进入到Node下 发现draw()方法后面多了一个 final. 以下我简单解说一个下final的用途 1 fin