我转换一个String到BigInteger如下:
Scanner sc=new Scanner(System.in);
System.out.println("enter the message");
String msg=sc.next();
byte[] bytemsg=msg.getBytes();
BigInteger m=new BigInteger(bytemsg);
Run Code Online (Sandbox Code Playgroud)
现在我想要我的字符串.我正在使用,m.toString()但这给了我想要的结果.
为什么?错误在哪里,我该怎么办呢?
创建密钥后,如何使用Keystore类的方法存储它们以及如何加载密钥?
我使用JDBC将Java程序连接到Oracle数据库.我想BigInteger在数据库中存储值(512位).列的类型应该是什么?
我是这样想的:
我在数据库中选了一个数字类型的列.
我转换BigInteger成BigDecimal这样的:
BigInteger b=new BigInteger("5779857570957802579079");
Number n =b;
BigDecimal d=(BigDecimal)n;
PreparedStatement pstmt=con.prepareStatemant("insert into database values(?,?)");
pstmt.setString(1,"john");
pstmt.setBigDecimal(2,d);
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
javax.servlet.ServletException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.math.BigDecimal root cause java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.math.BigDecimal
这段代码片段有什么问题吗?如果有,请建议其他方法.
通过控制台输入的任何数据类型(就像我使用BufferedReader类一样)是String.After之后我们输入它来重新排列数据类型(作为整数的Inter.parseInt()).但是在C中我们可以输入任何原始数据类型而在java中所有输入类型都是String.Why它是如此????