做一会儿不回头

问题描述

因此,我正在处理一个涉及二进制转换等的问题。但是我的问题是,每当catch块完成执行时,我似乎都无法在代码中制作do-while语句以进行环回。这是我的代码。

System.out.println("This program converts a binary value to its decimal counterpart.\n");
    Scanner input = new Scanner(System.in);
    boolean invalidInput = true;

    do {

        try {
            System.out.print("(>) Enter the value to be converted: ");
            String numberToConvert = input.nextLine();
            long converted = Long.parseLong(numberToConvert,2);
            System.out.println("(>) Decimal value of " + numberToConvert + " is : " + converted + "\n");
            invalidInput = false;
        } catch (Exception e) {
            System.out.println("(!) Entered value is non binary,please try again.\n");
            input.next();
        }

    } while (invalidInput);

解决方法

从catch块中删除input.next(),然后尝试:-

    System.out.println("This program converts a binary value to its decimal counterpart.\n");
    Scanner input = new Scanner(System.in);
    boolean invalidInput = true;

    do {

        try {
            System.out.print("(>) Enter the value to be converted: ");
            String numberToConvert = input.nextLine();
            long converted = Long.parseLong(numberToConvert,2);
            System.out.println("(>) Decimal value of " + numberToConvert + " is : " + converted + "\n");
            invalidInput = false;
        } catch (Exception e) {
            System.out.println("(!) Entered value is non binary,please try again.\n");
        }

    } while (invalidInput);

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...