您的位置:首页 > 编程语言 > C#

c#基础加强版之方法控制流复习-3控制台打印密码

2013-11-20 20:52 357 查看
题目三:控制台做简单计算器

我自己的code:

amespace 老师的代码_习题4控制台输入密码
{
class Program
{//实现控制台数目密码,显示为*,并让计算机存储我们输入的密码
static void Main(string[] args)
{
//思路:
//在csdn上查找发现Console.ReadKey()有方法重载Console.ReadKey(bool),该方法可以允许选择性显示输入的键
// Console.ReadKey(true);当参数为true的时候,不显示输入的键,将鼠标放在该方法上,智能提示告知: 该方法的返回类型为ConsoleKeyInfo
// ConsoleKeyInfo cki = Console.ReadKey(true);//设置断点,运行到该句的时候,将鼠标放在 cki变量处,查看cki的类型,发现cki有key属性集keyChar属性
//输入enter键的时候,为密码输完,实验输入一个ernter键,查看cki的值,发现此时cki.KeyChar='/r'
//考虑输入退格键的时候,不打印*,并且将输错的字符删除
//Console.Write("12345\b \b");实现删除.\b将光标往前挪一位,即是字符串的最后一位的位置,然后用空格将其取缔,此时光标又往后挪了,所以需要再加一个\b,使得继续输入的字符紧跟前面的
ConsoleKeyInfo cki;
string psw="";
while (true)
{
cki = Console.ReadKey(true);
if (cki.KeyChar=='\r')
{
break;
}
else if (cki.KeyChar != '\b')
{
Console.Write("*");
}
else
{
Console.Write("\b \b");
if (psw.Length==0)
{
continue;
}
else
{
psw = psw.Substring(0, psw.Length - 1);
continue;//表示不往下执行psw += cki.KeyChar,执行语句跳到该方法的开始位置.
}
}
psw += cki.KeyChar;
}
Console.WriteLine("\n您输入的密码是" + psw);
Console.ReadKey();
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: