黑马程序员技术交流社区

标题: (已解决)代码问题 [打印本页]

作者: 申延超    时间: 2012-8-8 20:20
标题: (已解决)代码问题
本帖最后由 申延超 于 2012-8-11 13:48 编辑

int max = 0;
            string input = "";
            int number = 0;
            int flag = 0;
            do
            {
                try
                {
                    Console.WriteLine("请输入一个数:");
                    input = Console.ReadLine();
                    number = Convert.ToInt32(input);
                    if (number > max)
                    {
                        max = number;
                    }
                }
                catch
                {
                    if (input != "end")
                    {
                        Console.WriteLine("输入错误");
                        input = "end";
                    }
                }
            }
            while (input != "end");
            Console.WriteLine("程序最大值为{0}。", max);
            Console.ReadKey();

怎么写才能在输入的不是数字和end时不输出Console.WriteLine("程序最大值为{0}。", max); 这个呀



作者: 柏森仁    时间: 2012-8-8 21:41

            int max = 0;
            string input = "";
            int number = 0;
            int flag = 0;
            do
            {
                try
                {
                    Console.WriteLine("请输入一个数:");
                    input = Console.ReadLine();
                    number = Convert.ToInt32(input);
                    if (number > max)
                    {
                        max = number;
                    }
                }
                catch
                {
                    if (input != "end")
                    {
                        Console.WriteLine("输入错误");
                        input = "end";
                    }
                }
            }
            while (input != "end");
            if (input != "end")
            {
                Console.WriteLine("程序最大值为{0}。", max);
            }
            Console.ReadKey();


这不就解决了?
作者: 肖攀    时间: 2012-8-8 22:45
楼主提的问题有问题啊,你的意思不就是让输入不是数字时才输出Console.WriteLine("程序最大值为{0}。", max);
输入end时也输出Console.WriteLine("程序最大值为{0}。", max);
我感觉你不应该要catch里边的if判断,就算你数个end,那也要退出,没必要再判断一下
作者: 许波    时间: 2012-8-9 11:52
catch
                {
                    if (input != "end")
                    {
                        Console.WriteLine("输入错误");
                        input = "end";
                    }
                    else
                    {
                        Console.WriteLine("程序最大值为{0}。", max);
                    }
                }
            }
            while (input != "end");            
            Console.ReadKey();
不知道你想说的是不是这个意思?




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