这是我到目前为止编写的程序,但是我在执行出现的错误语句时遇到了问题。
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 输入的二进制数无效!
如果将错误的信息传入:< 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!");
}
会解决它。然后,根据您要执行的操作,将其添加到循环中以再次询问,或者您可以直接退出应用程序。