美文网首页
关于输入错误然后再次输入

关于输入错误然后再次输入

作者: 予别她 | 来源:发表于2017-08-06 16:36 被阅读0次

    要求:输入一个整数

    一开始写的错误代码:

    public static void main(String[] args) {

        int n = 0;

        boolean keeprunning = true;

        System.out.println("请输入一个整数:");

        while(keeprunning) {

            Scanner input = new Scanner(System.in);

            //判断输入的是不是一个整数

            if(!input.hasNextInt || input == null) {

            System.out.println("您输入的不是一个整数,请重新输入:");

            }

            //判断输入的数字是否大于0

            else if(input.nextInt() < 0) {

            System.out.println("请重新输入一个大于0的整数:");

            }

            else {

            n = input.nextInt();

            keeprunning = false;

            }

        }

        System.out.println(n);

    }

    这个代码的错误就是没有把输入的值存起来,然后逻辑比较乱

    贴重新写的代码,用了一个try...catch来捕获输入不为整数的错误,然后判断是否大于0,运行成功

    public static void main(String[] args) {

        boolean keeprunning = true;

        int n = 0;

        System.out.println("请输入一个整数:");

        while(keeprunning) {

            try{

                Scanner input = new Scanner(System.in);

                n = input.nextInt();

                if(n < 0) {

                    System.out.println("输入的数字小于0,请重新输入:");

                }else {

                    keeprunning = false;

                }

                }catch(Exception e) {

                System.out.println("您输入的数字有误,请重新输入:");

                }

        }

        System.out.println(n);

    }

    相关文章

      网友评论

          本文标题:关于输入错误然后再次输入

          本文链接:https://www.haomeiwen.com/subject/khfnlxtx.html