黑马程序员技术交流社区

标题: 代码问题 [打印本页]

作者: 许万里    时间: 2013-2-25 18:01
标题: 代码问题
这 代码明明没有问题   运行的时候就有问题什么情况

static void Main(string[] args)
        {
            Console.WriteLine("你是否要关机");
            string s = ReadAmswer();
            if (s == "y")
            {
                Console.WriteLine("关机");
            }
            else
            {
                Console.WriteLine("不关机");

            }
        }
        public static string ReadAmswer()
        {
            string result = "";
            do
            {
                result = Console.ReadLine();
                if (result != "y" || result != "n")
                {
                    Console.WriteLine("你输入的不正确请重新输入");
                }

            } while (result != "y" || result != "n");
            return result;

        }

作者: 徐荣权    时间: 2013-2-25 18:11
  1. static void Main(string[] args)
  2.         {
  3.             Console.WriteLine("你是否要关机");
  4.             string s = ReadAmswer();
  5.             if (s == "y")
  6.             {
  7.                 Console.WriteLine("关机");
  8.             }
  9.             else
  10.             {
  11.                 Console.WriteLine("不关机");

  12.             }
  13.         }
  14.         public static string ReadAmswer()
  15.         {
  16.             string result = "";
  17.             do
  18.             {
  19.                 result = Console.ReadLine();
  20.                 if (result != "y" && result != "n")
  21.                 {
  22.                     Console.WriteLine("你输入的不正确请重新输入");
  23.                 }

  24.             } while (result != "y"&& result != "n");
  25.             return result;
复制代码
这样就不会有问题了,你方法里应该使用&& 而不是||
作者: xiaoxiang_04    时间: 2013-2-25 18:40
     if (result != "y" || result != "n")无论你输入什么,这都是true啊
改   if (result != "y"&&result != "n")
作者: 戴鑫凯    时间: 2013-2-25 22:01
你好   ,  if (result != "y" || result != "n")
                {
                    Console.WriteLine("你输入的不正确请重新输入");
                }

正确的是if (result != "y" && result != "n")
                {
                    Console.WriteLine("你输入的不正确请重新输入");
                }

条件错了   {:soso_e113:}
作者: dbqwaii    时间: 2013-2-25 22:10
用这种方法试试
static void Main(string[] args)
        {
            Console.WriteLine("你确定要关机吗?");
            string input = Console.ReadLine();
            input = ReadAmswer();
            if (input=="y")
            {
                Console.WriteLine("正在关机");
            }
            else
            {
                Console.WriteLine("取消关机");
            }
            Console.ReadKey();
        }
        public static string ReadAmswer()
        {
            string str = "";
            while (true)
            {
                if (str!="y" && str!="n")
                {
                    Console.WriteLine("只能输入y或n,请重新输入");
                    str = Console.ReadLine();
                }
                else
                {
                    break;
                }
            }
            return str;
                 
        }
作者: 李景荣    时间: 2013-2-26 00:55
            do
            {
                result = Console.ReadLine();
                if (result != "y" && result != "n")
                {
                    Console.WriteLine("你输入的不正确请重新输入");
                }

            } while (result != "y" && result != "n");
这两个条件的问题




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