(Java)如何定义用户输入的字母/数字/符号?

时间:2015-03-15 20:58:03

标签: java exception java.util.scanner

我在Java中创建程序,它添加,删除和乘以十六进制数字(不将它们转换为小数),将它放在一边。

我正在使用scanner.nextLine()来捕获十六进制数字。我的问题是如何限制用户输入的内容。我想抛出异常,除了0-9&&输入a-f。

感谢您的建议。

2 个答案:

答案 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