java - 在此程序中无法将 String 转换为 int

标签 java string type-conversion

在第 8 行将字符串转换为 int 时出现错误。

整数 parseInt 方法似乎没有完成其工作。

我尝试使用其他方法来转换字符串,但没有任何效果,这导致我失败了我正在做的编码挑战。我已经删除了其余的代码,因为我的逻辑错误就在这些行中。

错误消息如下



     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)


    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;
        }
    }

最佳答案

1234567890123456 太大,无法成为 int。这里,用逗号看一下:1,234,567,890,123,456。这是一个千万亿。

最大可能的整数是 2,147,483,647。尝试较小的数字或 Long.parseLong()

关于java - 在此程序中无法将 String 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58120601/

相关文章:

python - 使用 psycopg2 python 库构建 SQL 动态查询并使用良好的转换类型工具

使用 Jsoup 时,Java 11 HTTPS 连接失败并出现 SSL HandshakeException

java - Android 异步 - 在 Android 中的 onPostExecute 中打开新 Activity ( Intent )

java - 将 long 显式转换为 int 并将 long 隐式转换为 float

c# - 如何在C#中将字符串解析为日期时间的特定格式

Python 正则表达式灾难性回溯

delphi - 将任何记录转换为字符串并返回?

java - 如何在JMeter中跨线程组传递变量?

java - 使用带有自定义 Bean 解析器的 .properties 文件

c# - c#计算两个文本文件的百分比差异