public static void main(String[] args) {
/**
* 在之前我们应该明白到底什么数字是16进制的?
* 16进制的组成是0-9的数字加上A-F6个字母。
*/
boolean flag=true;//定义一个状态机,根据它的值来判断用户输入的数字是否是16进制
String input=args[0];
try{
int result=Integer.parseInt(input, 16);//通过包装类来转换,如果能转换为16进制,说明用户输入的数字是16进制的。
}catch(Exception ex){
flag=false;//如果不能转换,会发生异常。如果发生了异常,说明用户输入的数字不是16进制的。为状态机flag赋值为false。
}finally{
if (flag) {
//如果flag的值为true,说明是16进制的。
System.out.println("你输入的数字"+input+"是16进制的数字");
}else{
//如果flag的值为false,说明不是16进制的。
System.out.println("你输入的数字"+input+"不是16进制的数字");
}
}
}
16进制应该是有0x开头的
0x开头的16进制
vb code:
Function panduanHex(x As String) As Boolean
If Len(x) <> 0 Then
panduanHex = Not (x Like "*[!0-9A-Fa-f]*")
Else
panduanHex = False
End If
End Function