0
点赞
收藏
分享

微信扫一扫

java.lang.NumberFormatException

捌柒陆壹 2022-04-13 阅读 30
java

题记:Java十六进制装二进制报错,Integer.valueOf这个方法有一定的输入范围。
在这里插入图片描述
解决方法:字符串分段输入Integer.valueOf,然后再组合返回。

/**
	 * 将十六进制转换为二进制
	 *
	 * @param hexString
	 * @return
	 */
	private String hexString2binaryString(String hexString) {
		if(hexString.length() == 24){
		//16进制转10进制
		int hexString1int = Integer.valueOf(hexString.substring(0, 6),16);
		int hexString2int = Integer.valueOf(hexString.substring(6, 12),16);
		int hexString3int = Integer.valueOf(hexString.substring(12,18),16);
		int hexString4int = Integer.valueOf(hexString.substring(18,24),16);
	    //10进制转2进制
		String bin1=Integer.toBinaryString(hexString1int);
		String bin2=Integer.toBinaryString(hexString2int);
		String bin3=Integer.toBinaryString(hexString3int);
		String bin4=Integer.toBinaryString(hexString4int);
	    //字符串反转
		String AllBin = bin1 + bin2 + bin3 + bin4;
	    return AllBin;
		}else{
			return null;
		}
	}
	
	public static void main(String[] args){
		Test test = new Test();
		System.out.println(test.hexString2binaryString("3074257bf7194e4000001a85"));
	}
}

返回结果:
在这里插入图片描述

举报

相关推荐

0 条评论