1. 提示用户输入用户名和密码,写一个方法来判断用户输入的是否正确,返回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息 ,如果用户名错误,除了返回登陆结果之外,还要返回一个 "用户名错误" ,“密码错误”

 ​
 Console.WriteLine("请输入用户名");
 string userName = Console.ReadLine();
 Console.WriteLine("请输入密码");
 string userPwd = Console.ReadLine();
 string msg;
 bool b = IsLogin(userName, userPwd, out msg);
 Console.WriteLine("登陆结果{0}",b);
 Console.WriteLine("登陆信息{0}",msg);
 Console.ReadKey();
 ​
 ​
 /// <summary>
 /// 判断登陆是否成功
 /// </summary>
 /// <param name="name">用户名</param>
 /// <param name="pwd">密码</param>
 /// <param name="msg">多余返回的登陆信息</param>
 /// <returns>返回登陆结果</returns>
 public static bool IsLogin(string name, string pwd, out string msg)
 {
     if (name == "admin" && pwd == "888888")
    {
         msg = "登陆成功";
         return true;
    }
     else if (name == "admin")
    {
         msg = "密码错误";
         return false;
    }
     else if (pwd == "888888")
    {
         msg = "用户名错误";
         return false;
    }
     else
    {
         msg = "未知错误";
         return false;
    }
 }
  1. 定义一个函数,找出三个数中的最小值

 static public double FinMin(double a, double b, double c)
 {
     double min = a < b ? a : b;
     min = min < c ? min : c;
     return min;
 }
  1. 传入十一位手机号 >15560092945  =>155****2945

 public static string Phone(string phone)
 {
     string res = "";
     for (int i = 0; i < phone.Length; i++)
    {
         if (i >= 3 && i <= 6)
        {
             res += "*";
        }
         else
        {
             res += phone[i];
 ​
        }
    }
     return res;
 }
  1. 定义一个函数,计算一个数的 N 次方 例如Pow(2, 3)返回8

 static public double Pow(double baseNum, double count)
 {
 ​
     //注意
     double res = 1;
     for (int i = 0; i < count; i++)
    {
         res = res * baseNum;
    }
 ​
     return res;
 }
  1. 提示用户输入两个数字 计算这两个数字之间所有整数的和 1、用户只能输入数字 2、要求第一个数字必须比第二个数字小 就重新输入 3、计算两个数字之间和

 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;
 }

C#方法练习的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  3. 【.net 深呼吸】细说CodeDom(6):方法参数

    本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...

  4. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  5. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  6. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  7. ArcGIS 10.0紧凑型切片读写方法

    首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...

  8. [BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

  9. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  10. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

随机推荐

  1. 在 IdentityServer4 中创建客户端

    创建客户端 在创建了 IdentityServer4 服务器之后,我们可以准备从获取一个访问令牌开始. 1. 客户端凭证式验证流 在 OpenID Connect 中,最为简单的验证方式为客户端凭借方 ...

  2. 如何调整Gitlab-Runner最大并发数?

    概述: 我们在使用gitlab-runner做cicd时,如果安装之后没有配置gitlab-runner的最大并发数,在使用时候可能会碰到job的警告(job日志超过字节限制):job's log e ...

  3. IDE提交Git出现husky>pre-commit错误

    若使用IDE提交Git出现以下错误: 则是ES6在提交校验过程中出现了问题,强制提交方式为: 命令行: git commit --no-verify IDEA: 在提交时取消勾选Run Git hoo ...

  4. redis中是没有Long类型的

    redis中没有Long类型,存储进去后取出来会是Interger类型.需要自行转化,不可直接强转.否则将CCE. 本人在处理springboot的redisTemplate封装时发生了这个异常.解决 ...

  5. java正则表达式(find()和 matches())

    1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数. matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为 ...

  6. Qt/C++音视频开发56-udp推流和拉流/组播和单播推流

    一.前言 之前已经实现了rtsp/rtmp推流,rtsp/rtmp/hls/flv/ws-flv/webrtc等拉流,这种一般都需要依赖一个独立的流媒体服务程序,有没有一种更便捷的方式不需要这种依赖, ...

  7. 阿里IM技术分享(五):闲鱼亿级IM消息系统的及时性优化实践

    本文由阿里闲鱼技术团队有攸分享,原题"向消息延迟说bybye:闲鱼消息及时到达方案",有修订和改动,感谢作者的分享. 1.引言 IM消息作为闲鱼用户重要的交易咨询工具,核心目标有两 ...

  8. torque提交作业

    PBS(Protable Batch System)是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一. PBS的目前包括openPBS,PBS Pro和Torque三个主要分支.其中Open ...

  9. 零基础Windows Server搭建部署Word Press 博客系列教程(3):弱鸡变猛男之部署CDN加速和缓存加速

    我们博客里面存在的各种媒体文件.压缩文件.脚本文件,这些文件可能很大而且不需要随时生成.如果我们的服务器带宽很小,访问我们网站的用户等待加载完成就需要很长时间,那么访问速度会很慢.因此我们需要通过第三 ...

  10. 前端学习openLayers配合vue3(加载矢量图标)

    今天我们来进行矢量图标的加载 关键代码 有一个比较注意的点就是,图片路径必须引入不能直接写路径,我找半天也没发现问题所在 let anchorLayer=new VectorLayer({ sourc ...