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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

if_lee

中级黑马

  • 黑马币:0

  • 帖子:14

  • 精华:0

© if_lee 中级黑马   /  2013-8-20 11:49  /  1924 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

            
            
            do
            {
                Console.WriteLine("请输入用户名:");
              string  name = Console.ReadLine();
                Console.WriteLine("请输入密码:");
               string password = Console.ReadLine();
            } while (name != "admin" || password != "888");
            Console.ReadKey();
       这段代码是有问题    变量必须定义到do{}while();这段话的外面,不然会报错,局部变量问题

13 个回复

倒序浏览
好像很厉害的样子,一定是世外高人吧
回复 使用道具 举报
小心得   求技术分啊
回复 使用道具 举报
哥们,你这个不是java语言吧
回复 使用道具 举报
哥们儿  net
回复 使用道具 举报
本帖最后由 pm324 于 2013-8-20 17:04 编辑

你这段代码不只是对变量作用域的理解有问题
仔细看看你的逻辑运算符,用错了吧?
判断用户名和密码应该是 “与”(&&)而不是”或“(||)吧?

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1 请阁下在满十分后参加入学考试.

查看全部评分

回复 使用道具 举报
if_lee 中级黑马 2013-8-20 17:19:01
7#
就是要实现这样的效果  没有说明必须是登录那种  呵呵呵
回复 使用道具 举报
if_lee 中级黑马 2013-8-20 17:19:07
8#
就是要实现这样的效果  没有说明必须是登录那种  呵呵呵
回复 使用道具 举报
许庭洲 黑马帝 2013-8-20 19:40:48
9#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test10
{
      calss Program
      {
            static void Main(string[] args)
            {
                    //要求用户输入用户名和密码,只要不是admin,888888就一直提示要求重新输入。
                    Console.WriteLine("请输入用户名");
                    string username = Console.ReadLine();
                    Console.WriteLine("请输入密码");
                    string password= Console.ReadLine();
                    do
                    {
                           Console.WriteLine("用户名,密码错误");
                           Console.WriteLine("请重新输入用户名");
                           username = Console.ReadLine();//在这里重新赋值的username在while可以用,因为是执行完了
                           // username = Console.ReadLine()又去while( username != "admin" || password != "888888")
                           Console.WriteLine("请重新输入密码");
                           password= Console.ReadLine();
                    }while( username != "admin" || password != "888888");
                    Console.ReadKey();
            }
      }
}
回复 使用道具 举报
为什么见到验证就非要“且”呢  习惯问题???

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
pm324 中级黑马 2013-8-21 10:01:12
11#
本帖最后由 pm324 于 2013-8-21 10:03 编辑
if_lee 发表于 2013-8-20 21:33
为什么见到验证就非要“且”呢  习惯问题???

看的不够仔细~ sorry~~
回复 使用道具 举报
变量的声明只声明一次,
    string  name = Console.ReadLine();
这句,既声明,又定义。。
如果进入循环那就是重复声明了~
回复 使用道具 举报
是啊!我也是看到这个问题,原来是这样啊!局部变量。还有就是:while();中一定要用“||”而不能用“&&”不然程序会出错的。
回复 使用道具 举报
pm324 发表于 2013-8-20 17:02
你这段代码不只是对变量作用域的理解有问题
仔细看看你的逻辑运算符,用错了吧?
判断用户名和密码应该是  ...

1)变量作用域是有问题,do内部的,在while里面就失效;
2)看走眼了吧,这里是检查是不是重新输入密码来着,不是用“且”喔!

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马