Java 无法在此程序中将字符串转换为int
我在第8行将字符串转换为int时出错 整数parseInt方法似乎没有完成它的工作 我曾尝试使用其他方法来转换字符串,但没有任何效果,这导致我无法完成正在进行的编码挑战。我已经删除了代码的其余部分,因为逻辑中的错误在这些行中 错误消息如下:Java 无法在此程序中将字符串转换为int,java,string,type-conversion,Java,String,Type Conversion,我在第8行将字符串转换为int时出错 整数parseInt方法似乎没有完成它的工作 我曾尝试使用其他方法来转换字符串,但没有任何效果,这导致我无法完成正在进行的编码挑战。我已经删除了代码的其余部分,因为逻辑中的错误在这些行中 错误消息如下: java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:583)
at java.lang.Integer.parseInt(Integer.java:615)
at Solution.reverseNum(Solution.java:35)
at Solution.main(Solution.java:8)
公共类解决方案{
公共静态void main(字符串args[])引发异常{
字符串sc=“1234567890123456”;
int-noCases=1;
for(int i=0;i1234567890123456
太大,不能成为int。在这里,用逗号查看它:1234567890123456
。这是一个万亿
最大可能的整数是2147483647。请尝试一个较小的数字或Long.parseLong()
为什么要将字符串转换成一个数字来反转它呢?为什么不直接使用呢?哇,谢谢azurefrog,直到现在才知道这个方法!谢谢,这解决了我的问题
public class Solution {
public static void main(String args[] ) throws Exception {
String sc = "1234567890123456";
int noCases = 1;
for(int i=0; i<noCases; i++){
int rev = reverseNum(sc);
} // for each credit card number
}
public static int reverseNum(String inp){ // helper function
int in =Integer.parseInt(inp);
int res = 0;
for(int i = in; i !=0; i/=10){
res = res *10 + i%10;
}
return res;
}
}