标题:求助!!!错误返回的代码怎么编的?
只看楼主
lqshlwa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-8
结帖率:100%
已结贴  问题点数:5 回复次数:8 
求助!!!错误返回的代码怎么编的?
while(i<10)
            {

                try//try-catch
                {
                    Console.WriteLine("请输入第{0}个正整数。",i);
                    shu = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("输入错误,请重新输入一个正整数。");
                    
                }
                if (shu > a)
                {
                    a=shu;
                }
                i++;
            }
这段代码生产没有问题,就是用户输入错误后没法返回重新输入。

求解决。
搜索更多相关主题的帖子: 正整数 
2012-03-07 16:19
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
得分:0 
程序代码:
while (i < 10)
            {

                try//try-catch
                {
                    Console.WriteLine("请输入第{0}个正整数。", i);
                    shu = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("输入错误,请重新输入一个正整数。");
                    i = 1;  //改成你的初始值
                    continue;
                }
                if (shu > a)
                {
                    a = shu;
                }
                i++;
            }

汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2012-03-07 17:08
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:5 
程序代码:
//还是用goto方便啊  第几个错了 就从第几个重新输入  
   static void Main(string[] args)
        {
            int i = 0;
            int shu = 0;
            int a = 1;
            while (i < 10)
            {
                input:
                try//try-catch
                {
                   
                    Console.WriteLine("请输入第{0}个正整数。", i);
                    shu = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("输入错误,请重新输入一个正整数。");
                    goto input;
                }
                if (shu > a)
                {
                    a = shu;
                }
                i++;
            }

        }


[ 本帖最后由 wangnannan 于 2012-3-7 17:22 编辑 ]
收到的鲜花
  • w0246802012-03-07 17:35 送鲜花  5朵   附言:学习了,没想到还有goto这个关键字

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2012-03-07 17:20
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
得分:0 
高级编程语言当中goto是不提倡使用的

汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2012-03-07 17:44
lqshlwa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-8
得分:0 
回复 4楼 tanghuawei
嗯,不过我认为goto比较方便。
书上说什么goto用多了就会出问题,所以提倡不用。
2012-03-07 21:06
lqshlwa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-8
得分:0 
回复 楼主 lqshlwa
你这招不行的啊!我只是哪一次错了回到哪一次,不是回到初始啊!
2012-03-07 21:52
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
得分:0 
那你就直接continue;
把i = 1;  //改成你的初始值 这行删掉

汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2012-03-08 11:51
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
回复 4楼 tanghuawei
不加限制地使用GOTO语句,特别是使用往回跳的GOTO语句,会使程序结构难于理解,在这种情形,应尽量避免使用GOTO语句。但在另外一些情况下,为了提高程序的效率,同时又不至于破坏程序的良好结构,有控制地使用一些GOTO语句也是必要的。

像LZ的代码 goto语句一个好处就是可以保证程序存在唯一的出口,避免了过于庞大的if嵌套。
看书别看死了 活学活用才是关键

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2012-03-08 13:16
jfei
Rank: 4
来 自:郑州
等 级:业余侠客
帖 子:92
专家分:268
注 册:2011-8-27
得分:0 
ls说的对,我支持。

虾米们!!!有意者加QQ 2434202652,2632939128联系我
2012-03-09 17:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-362482-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054844 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved