//二进制先转换为十进制,再由十进制转换为二进制
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Enter a hex character: ");
String hex=input.next();
int digit;
String str="";
//二进制转换为十进制
try { //字符串直接转换为数字,存在字符时会自动抛出异常
digit = Integer.parseInt(hex);
}catch (Exception e) { //字符串存在字母时,捕获异常并转换为数字
digit = hex.charAt(0) - 'A' + 10;
}
//判断是否有超过F的字母
if(0<=digit&&digit<=15)
{
while(digit!=0) {
str=digit%2+str;
digit=digit/2;
}
System.out.println("The binary value is "+str);
}
else
{
System.out.println(hex+" is an invalid input");
}
}
运行结果截图: