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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 会飞的狼 中级黑马   /  2013-8-9 13:08  /  1137 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

try
{
    这里有个输入语句,对输入的字符串进行判断,但是会输错,抛出异常e
}
catch
{
    在这里接收到了异常,程序一般都终止了,但是有没有办法使程序回到try在运行一次,重新输入?
}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

6 个回复

正序浏览
public static void main(String[] agrs) {
                Scanner in = new Scanner(System.in);
                boolean flag = true;
                while (flag) {
                        try {
                                System.out.println("请输入:");
                                int num = in.nextInt();
                                System.out.println("数字是:" + num);
                                flag = false;
                        } catch (Exception e) {
                                in.next();
                                System.out.println("输入的不是数字,请重新输入");
                        }

                }
        }

遮掩应该可以的!思路和你的差不多,也是抛出异常,只是不是字符串处理异常,应该差不多吧,希望对你有帮助!

回复 使用道具 举报
后续试试看能不能用递归
回复 使用道具 举报
杨璐敏 发表于 2013-8-13 22:15
亲,如问题已解决请将分类的未解决改为已解决。
保持队形,谢谢合作

你真牛
回复 使用道具 举报
亲,如问题已解决请将分类的未解决改为已解决。
保持队形,谢谢合作
回复 使用道具 举报
你试着把你重复执行的代码封装成一个方法,然后在处理异常的catch()中调用这个方法
希望对你有锁帮助!
回复 使用道具 举报
不太明白你要说的是什么意思,如果想要再运行一次,可以用for循环
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马