Java 写一个功能类似Integer.parseInt("123",16)的方法,即可将字符串的数据转换成其对应的16进制数据。并用“123”,16来验证结果是否为291。

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

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【Java】字符串转换为数字:Integer的parseInt方法
  • 除此之外, 这篇博客: Java入门第94课——Integer的parseInt方法中的 步骤三:字符串"壹佰贰拾参"转换为int类型 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

        再次使用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方法时,要注意传入的方法的参数为数字。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^