最近做了这样一道程序题
定义一个网络用户类 要处理的信息有用户姓名 用户ID 用户密码  email 地址,缺省的 email 地址是用户 ID 加上字符串 @hope.com。为网络用户类添加注册功能 注册时对用户输入的 ID 进行合法性检查 小写字母开头 只能由字母 数字和下划线组成并验证用户两次输入密码是否相同。
我写的程序如下
using System;
namespace std
{
class interman                       //定义网络信息用户
{
public string name;
public string id;
public string envolop;
public string Password;
public interman(string a,string b,string c,string d)//构造用户
{
name=a;
id=b;
envolop=c;
Password=d;
}
public void print()            //输出用户信息
{
Console.WriteLine("用户的姓名是:"+name);
Console.WriteLine("用户的ID是:"+id);
Console.WriteLine("用户的姓邮箱是:"+envolop);
Console.WriteLine("用户的秘码是:"+Password); }
}
class run
{
static void Main()
{
int j=1;
string Name,Id,Envolop,password,repassword;
Console.WriteLine("请输入用户的姓名:");
Name=Console.ReadLine();
Console.WriteLine("请输入用户的ID:(小写字母开头 只能由字母 数字和下划线组成)");
Id=Console.ReadLine();
while(j<Id.Length)     //检验用户ID规格
{
if(Id[0]<'a'||Id[0]>'z'||!(Id[j]>='A'&&Id[j]<='Z'||Id[j]>='a'&&Id[j]<='z'||Id[j]=='_'||Id[j]>='0'&&Id[j]<='9'))
{
Console.WriteLine("你输入的格式错误,ID必须以小写字母开头,只能由字母 数字和下划线组成,请重新输入:");
Id=Console.ReadLine();
j=1;
continue;
}
j++;
} Console.WriteLine("请输入用户的密码:");
password=Console.ReadLine();
Console.WriteLine("请再次输入用户的密码:");
repassword=Console.ReadLine();
while(password!=repassword)   //输入并检验密码
{
Console.WriteLine("你刚才输入的密码出错,请重新输入!");
Console.WriteLine("请输入用户的密码:");
password=Console.ReadLine();
Console.WriteLine("请再次输入用户的密码:");
repassword=Console.ReadLine();
}
Envolop=Id+"@hope.com";
interman person=new interman(Name,Id,Envolop,password);
person.print();
}
}
}该程序也能正常运行~但在输入用户ID时如果点击空格键或Enter键也能通过检证,且输出用户ID信息是空格形式。我明明对ID做了明确限制的啊!这是为什么?哪位高手指教一下哦!感激不尽