C# ------- 程序的发展 为啥会有变量,异常处理,if语句,循环 (3)

为啥要有变量

先来个简单的例子,

 我们可以看出这是一个,将一个四位数的个十百千获取的小程序,但是这样很单一,修改也不方便,

引入变量后,就会根据你输入的四位数就行判断,比较智能

 但是,这样不安全,如果用户输入的不是数字,就会报错,这就引入了 异常的抛出

为啥会有 异常处理;

因为有的东西容易报错,就需要抛出或给出提示,不能就直接卡在哪里,
像数据的转换,如过你输入的要是不符合,就会给用户提示,不让程序就此终止,使用用户的体验感好些,抛出的话用于调试
有三种异常处理的语句,本文使用的是 try catch

但是,如果输入的不是整数,或四位数如何给出提示

为啥会有if  判断语句

前面的try 语句会判断 输入的是不是数字或 整数,比较粗狂,但是要是不是四位数也应该给出提示,那么可以使用ifif 语句详细判断一下,给出更详细的提示

你会发现只能使用一次,下一次使用还要重新启动很不爽,这个时候循环就出来了

为啥要有循环

为了让程序多次使用

有三种循环方式,本文介绍while 循环

 其实这些都是为让这个程序更加的人性化,更加的健壮,

代码:

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

namespace obgetest1
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化变量,让他可以往下执行
            string yn1 = "yes";
            //while 循环只要  yn1 是yes 就会执行这个程序
            while (yn1 == "yes")
            {
            Console.WriteLine("请输入一个四位数:");
            // 使用一个字符串变量接收输入的数
            string str1 = Console.ReadLine();
            //初始化变量
            int inum1 = 0;
            //保证程序可以运行下去
            try {
                //将字符串转换为整数     
                inum1 = Convert.ToInt32(str1);
            } catch
            //(Exception ex)  
            {
                //报错给出提示
                Console.WriteLine("你输入的"+str1+"不是数字或整数");
                //Console.WriteLine(ex);    //将异常抛出
            }
            //判断数字中有没有小数点    
            int si1 = str1.IndexOf(".");
            //如果返回 -1 说明是整数,反之不是
            if (si1 != -1)
            {
                Console.WriteLine("你输入的不是整数");

            }
            //判断是不是四位数
            else if ( 1000<=inum1 && inum1 <= 9999 )
            {
                //输出
                Console.WriteLine("千位:" + inum1 / 1000);
                Console.WriteLine("百位:" + inum1 / 100 % 10);
                Console.WriteLine("十位:" + inum1 / 10 % 10);
                Console.WriteLine("千位:" + inum1 % 10);
            }else
            {
                Console.WriteLine("你输入的不是四位数");
            }
                Console.WriteLine("是否继续,若继续输入yes,输入其他则退出:");
                yn1 = Console.ReadLine();
       
                
            }

        }
    }
}
原文地址:https://www.cnblogs.com/obge/p/12179575.html