我在Java中创建程序,它添加,删除和乘以十六进制数字(不将它们转换为小数),将它放在一边。
我正在使用scanner.nextLine()来捕获十六进制数字。我的问题是如何限制用户输入的内容。我想抛出异常,除了0-9&&输入a-f。
感谢您的建议。
答案 0 :(得分:1)
计算机使用二进制执行数学运算(不是十进制而不是十六进制)。如果您获得NumberFormatException
,那么请Integer.parseInt(str, 16)
中的try-catch
致电有效的十六进制编码int
。
答案 1 :(得分:0)
nextInt
类上有一个Scanner
方法,它接受基数作为参数。例如:
Scanner sc = new Scanner(System.in);
int val = sc.nextInt(16);
执行此代码后,val应该是一个假定有效十六进制输入的整数。如果输入不是有效的基数16 int,则抛出InputMismatchException
。