Java 写一个功能类似Integer.parseInt("123",16)的方法,即可将字符串的数据转换成其对应的16进制数据。并用“123”,16来验证结果是否为291。
String num1 = Integer.toBinaryString(15); // 转2
String num2 = Integer.toOctalString(15)//转8
String num3 = Integer.toHexString(15); //转16
不知道你这个问题是否已经解决, 如果还没有解决的话: 再次使用Integer的parseInt方法,将字符串"壹佰贰拾参"转换为int类型,代码如下所示:
package day02;
import org.junit.Test;
public class TestInteger{
/**
*测试Integer的parseInt方法
*/
@Test
public void testParseInt(){
String str="123";
int value=Integer.parseInt(str);
System.out.println(value);//123
str="壹佰贰拾参";
//会抛出NumberFormatException
value=Integer.parseInt(str);
}
}
运行上述代码后,会出现异常:
java.lang.NumberFormatException:For input string:"壹佰贰拾参"
从异常情况可以看出,Java程序无法将字符串"壹佰贰拾参"转换为int类型,因此,抛出了java.lang.NumberFormatException异常。所以在使用Integer的parseInt方法时,要注意传入的方法的参数为数字。