黑马程序员技术交流社区

标题: 思路问题 [打印本页]

作者: 王富恒    时间: 2011-12-31 21:35
标题: 思路问题
编写一个控制台应用程序,要求用户输入5个大写字母,如果用户输入的信息不满足要求,提示帮助信息并要求重新输入。
  这道题中怎么判断用户输入的每一个字母是大写的呢?
作者: 曾伟    时间: 2011-12-31 21:55
char ch = Convert.ToChar(readkey());
            if (ch >= 65 && ch <= 90)则是大写字母
        else if (ch >= 97 && ch <= 122)则是小写字母
        else if (ch >= 49 && ch <= 57)则是数字
        再else 则是特殊字符。五个字母的话,嵌套在F0R循环里应该可以。总之利用ASCII码值进行判定


坐等更简单的判别方式……
作者: 王富恒    时间: 2011-12-31 23:09
曾伟 发表于 2011-12-31 21:55
char ch = Convert.ToChar(readkey());
            if (ch >= 65 && ch = 97 && ch = 49 && ch

没有比较基础的吗? ASCII  这个没学呢  我是确确实实的小马驹
作者: 王兴    时间: 2011-12-31 23:20
想不到更简单的方法,就是通过ASCII码值判断
作者: 李荣壮    时间: 2011-12-31 23:42
本帖最后由 李荣壮 于 2012-1-1 19:42 编辑

使用正则表达式, 相当方便
需要先  using System.Text.RegularExpressions;

  1. Console.WriteLine("请输入五个大写字母:");
  2. string inputString=Console.ReadLine();
  3. //^→字符串的开始,[A-Z]→大写 ,  {5}→重复5次, $→结束
  4. while (!Regex.IsMatch(inputString, "^[A-Z]{5}$"))
  5. {
  6.      Console.WriteLine("输入错误,请重新输入五个大写字母!");
  7.      inputString = Console.ReadLine();
  8. }
  9. Console.WriteLine("输入正确!"+inputString);
复制代码

作者: 李荣壮    时间: 2012-1-1 19:39
昨天的正则表达式写错了, 应该是^[A-Z]{5}$




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2