input.nextInt(int radix)解释

input.nextInt(int radix)解释

首先附上API的说明
input.nextInt(int radix)解释
中文版的看不懂,英文版的……先不找了吧
一开始以为是对输入值进行约束,毕竟有random.nextInt(int a)的先例
后来在使用中发现并不是这样
这里的radix是进制的参数,
现附上测试用代码

Scanner input=new Scanner(System.in);
		//进制转换
		int a=input.nextInt(2);	//这里的值最低为2(2进制),最高为36(36进制)
		
		System.out.println(a);

首先是radix为1的情况:

Exception in thread “main” java.util.InputMismatchException: radix 1 less than Character.MIN_RADIX

报错:低于最小值
然后是radix为37的情况

Exception in thread “main” java.lang.StringIndexOutOfBoundsException:String index out of range: 37

报错:超出范围
然后经过测试我确认了这是个进制转换,输入的值会转换为radix进制的值
下面是测试:
radix为2时:
input.nextInt(int radix)解释
radix为8时:
input.nextInt(int radix)解释
radix为21时:
input.nextInt(int radix)解释
input.nextInt(int radix)解释
radix为36时:
input.nextInt(int radix)解释
以上,后续有空将会更新其他类型的测试