提问者:小点点

将二进制转换为十二月


这是我到目前为止编写的程序,但是我在执行出现的错误语句时遇到了问题。

import java.util.Scanner;

public class BinaryToDec {
    public static void main(String []args ) {
            String binary;
            int dec;

            Scanner scan = new Scanner(System.in);
            System.out.print("Enter a binary number: ");
            binary = scan.nextLine();


            dec = Integer.parseInt(binary,2);
                System.out.printf("The corresponding decimal value is: %d\n",dec);

                System.out.println("Invalid binary number entered!");

    }
}

它必须正确打印出来的两个示例是输入一个二进制数:1000100对应的十进制值是:68

输入二进制数:12345 输入的二进制数无效!


共1个答案

匿名用户

如果将错误的信息传入:< code > integer . parse int(string)中,将会得到一个NumberFormatException。

try{
  dec = Integer.parseInt(binary,2);
  System.out.printf("The corresponding decimal value is: %d\n", dec);
}catch(NumberFormatException e){
  System.out.println("Invalid Binary Number Entered!");
}

会解决它。然后,根据您要执行的操作,将其添加到循环中以再次询问,或者您可以直接退出应用程序。