A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁振龙 中级黑马   /  2013-4-22 10:41  /  1514 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 袁振龙 于 2013-4-22 12:53 编辑

Console.WriteLine("请输入一个六位数:");
string  youbian=Console.ReadLine();
我要判断用户输入的是不是一个六位数;下面怎么写啊?怎么判断啊!求解!

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

5 个回复

倒序浏览
首先你要判断用户是否输入的是数字
然后你可以把youbian当做一个数组。用youbian.length获取数组长度。
爪机党。写代码不方便....
回复 使用道具 举报
  1. /存蓄6位数的变量
  2.             int a;
  3.             Console.WriteLine("请输入6位数字");
  4.             string str = Console.ReadLine();
  5.             //判断用户输入的字符串长度是否等于6,不等于6则提示错误;
  6.             if (str.Length != 6)
  7.             {
  8.                 Console.Write("你输入的位数不是6位数");
  9.                 Console.WriteLine("请重新输入~·");
  10.                 return;
  11.             }
  12.              //判读用户输入的长度为6的字符串是不是都是数字,不是则提示错误
  13.             else if (int.TryParse(str, out a))
  14.             {
  15.                 Console.WriteLine("输入正确");
  16.             }
  17.             else
  18.             {
  19.                 Console.WriteLine("你输入的不是有效的6位数");
  20.             }

  21.             Console.ReadKey();
复制代码
这是我刚才按照自己的想法写, 但我觉得应该可以 用正则表达式来写
会更简单。。 但我还不会,能力还不够。
希望这对你有帮助

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
正则表达式版
  1.         Console.WriteLine("请输入一个六位数:");
  2.             string youbian = Console.ReadLine();
  3.             if (Regex.IsMatch(youbian, @"\d{6}"))//记得要引用Regex的程序集,即在最上面using System.Text.RegularExpressions;            {
  4.                 Console.WriteLine("输入正确");
  5.             }
  6.             else
  7.             {
  8.                 Console.WriteLine("不是六位邮编,请重新输入");
  9.             }
  10.             Console.ReadKey();
复制代码

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
Console.WriteLine("请输入一个六位数:");
            string youbian = Console.ReadLine();
            int re;
            if (!int.TryParse(youbian, out re))
            {
                Console.WriteLine("输入错误");

            }
            else
            {
                if (re<100000)
                {
                    Console.WriteLine("输入错误,请输入一个6位数");
                }
            }

测试成功
回复 使用道具 举报
邮编应该是按字符串来处理,用正则表达式比较好。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马