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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈培茹 中级黑马   /  2013-4-13 00:08  /  2490 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

{:soso_e109:}

捕获.PNG (10.91 KB, 下载次数: 33)

捕获.PNG

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

17 个回复

倒序浏览
  1.   string usernaem=null, password=null;
  2.             while(true){
  3.                 Console.WriteLine("请输入用户名");
  4.                 usernaem = Console.ReadLine();
  5.                 Console.WriteLine("请输入密码");
  6.                 password = Console.ReadLine();
  7.                 if (usernaem != "admin" || password != "888888")
  8.                 {
  9.                     Console.WriteLine("用户名或密码错误,请重新输入");
  10.                     continue;
  11.                 }
  12.                 else {
  13.                     break;
  14.                 }
  15.             }
  16.             Console.WriteLine("恭喜你!输入正确,欢迎登录本系统");
  17.             Console.ReadKey();
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
while(userName !="admin"&&passWord !="888888")
回复 使用道具 举报
这个应该能够解决你的问题:

test2.png (8.08 KB, 下载次数: 19)

test2.png

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
  1. static void Main(string[] args)
  2.         {

  3.             string userName="";
  4.             string passWord="";
  5.             while (userName != "admin" || passWord != "888888")
  6.             {
  7.                 Console.WriteLine("用户名:");
  8.                 userName = Console.ReadLine();
  9.                 Console.WriteLine("密码:");
  10.                 passWord = Console.ReadLine();

  11.                 Console.WriteLine("错误!!!");
  12.                 //continue;
  13.             }
  14.             Console.WriteLine("登录成功");
  15.             Console.ReadKey();
  16.         }
复制代码
如果错误要不停的提示,所以要把提示信息写在循环里。由于这里判断要用到变量所以定义在循环外。使用F9断点来检查你的代码就会比较直观清楚的看到死循环。沙发那哥们写的方法好理解。
回复 使用道具 举报
楼主,为什么你的Code在我机子上,没有死循环呢?
我也没看出来死循环呀?
??????
回复 使用道具 举报
道理 来自手机 初级黑马 2013-4-13 07:29:56
7#
循环里面有错误,你只判断不是条件,如果输入正确你没有写来自: Android客户端
回复 使用道具 举报
while(userName!="admin"||passWord!="888")
{
        ....
}
//你先想想这个问题啊,如果你第一次输入的用户和密码错误,他能跳出这个循环么?是不是一直在里面输出“用户名和密码错误,请重新输入”
是不是会一直提示你?你可以在输入用户名和密码的上面用while()循环,然后如果
while(true){
        //这里是输入密码和用户的输入语句
        // ......
        if(userName!="admin"||passWord!="888")
        {
                ....
                continue;
        }else{
        //恭喜你登录成功
        //.........
        break;
        }
}
当然我只是给出你一个思路,楼上也有其他的方法,你都可以参考,重在你可以理解这个思路,会用,希望对你有帮助
回复 使用道具 举报
韦俊琳 发表于 2013-4-13 00:22
while(userName !="admin"&&passWord !="888888")

这样写,应该不符合题目的要求啊
回复 使用道具 举报
郑丹丹1990 发表于 2013-4-13 06:56
楼主,为什么你的Code在我机子上,没有死循环呢?
我也没看出来死循环呀?
?????? ...

啊哦,确实在我这是死循环啦。你应该纠正了吧,呵呵
回复 使用道具 举报
道理 发表于 2013-4-13 07:29
循环里面有错误,你只判断不是条件,如果输入正确你没有写

可能我对do-while 的理解有偏差,还在教程
回复 使用道具 举报
曾玉锋 发表于 2013-4-13 00:22

用你的方法可行,但是我不知道自己错在呢呀
回复 使用道具 举报
ゞSunペ果果つ 发表于 2013-4-13 07:59
while(userName!="admin"||passWord!="888")
{
        ....

恩恩,万分感谢!很是详细:P
回复 使用道具 举报
刘欢 发表于 2013-4-13 01:40
如果错误要不停的提示,所以要把提示信息写在循环里。由于这里判断要用到变量所以定义在循环外。使用F9断点 ...

恩恩,谢谢啦!看来我还要对while语句多理解才可以
回复 使用道具 举报
bool flag=false;
            do
            {
                flag = false;
            Console.WriteLine("请输入用户名");
            string name = Console.ReadLine();
            Console.WriteLine("请输入密码");
            string score = Console.ReadLine();
            
            if (name != "admin" || score != "888888")
            
            
            {
                Console.WriteLine("密码或用户名输入错误,请重新输入");
                flag = true;
            }
            
            }
            while(flag);
            Console.WriteLine("恭喜你!输入正确,欢迎登录本系统");
            Console.ReadKey();
回复 使用道具 举报
  1.   while (true)
  2.            {
  3.                Console.WriteLine("请输入用户名");
  4.                string userName = Console.ReadLine();
  5.                Console.WriteLine("请输入密码");
  6.                string password = Console.ReadLine();
  7.                if (userName == "admin" && password == "888888")
  8.                {
  9.                    Console.WriteLine("恭喜你!输入正确,欢迎登录本系统");
  10.                    return;
  11.                }
  12.                Console.WriteLine("用户名或密码错误,请重新输入");
  13.            }
  14.      Console.ReadKey();
复制代码
方法很多,你还可以用do-while循环做
你的错误是循环里面只显示了错误提示而没有对错误进行相应的处理(即重新输入),如果循环条件为true,就会一直为true……
回复 使用道具 举报
陈培茹 发表于 2013-4-13 08:31
这样写,应该不符合题目的要求啊

弄错了,不好意思........
回复 使用道具 举报
熊薇 发表于 2013-4-13 12:25
方法很多,你还可以用do-while循环做
你的错误是循环里面只显示了错误提示而没有对错误进行相应的处理(即 ...

谢谢,已经解决啦。呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马