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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 申延超 中级黑马   /  2012-8-8 20:20  /  1373 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 申延超 于 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); 这个呀


评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览

            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();


这不就解决了?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
楼主提的问题有问题啊,你的意思不就是让输入不是数字时才输出Console.WriteLine("程序最大值为{0}。", max);
输入end时也输出Console.WriteLine("程序最大值为{0}。", max);
我感觉你不应该要catch里边的if判断,就算你数个end,那也要退出,没必要再判断一下

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
catch
                {
                    if (input != "end")
                    {
                        Console.WriteLine("输入错误");
                        input = "end";
                    }
                    else
                    {
                        Console.WriteLine("程序最大值为{0}。", max);
                    }
                }
            }
            while (input != "end");            
            Console.ReadKey();
不知道你想说的是不是这个意思?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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