开发者社区> 问答> 正文

请教一个java数组的问题?报错

我新建了一个数组,获取数据后想放到数据库里面。但是循环输出时这个i一超过237就报错

展开
收起
爱吃鱼的程序员 2020-06-06 14:48:11 363 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>从你的错误截图上来看,是数据转换错误,‘For input string: "1.3"’,1.3无法转换成int的</p>
    
                    
    
                            没错,就是因为 读到的 x 的值 是 1.3, 无法转换成 Integer。
                        
    
                            那这个为什么就是237的时候报错呢,每次都是固定这里的
                        
    
                        <p>应当将for循环控制变量 i 的上限为 size  (400太大了): </p>
    

    .....

    for(int i=0;i<size;i++){

    ......

                            其实size大小是521啊..但是超过237就一直报错。我前面一开测试的时候只有十个没问题。200白也没问题,就是到237就报错
                        
    
                        <p>请问报的是下标越界吗?如果是的话,就应该把你的i的值规定在size的范围之内。</p>
    
                    
    
                        <p></p>
    

    这个是报错内容

                        <p><img height="726" src="https://static.oschina.net/uploads/space/2018/1013/085650_F79F_3460919.png" width="1875"></p>
    

    内容

                        <p>错误发生在 当 i=238 时,从 reList2 读到的值是 : 1.3 [见:  String x = reList2.get(i).get("read_value");]。导致执行 int flow=Integer.valueOf(x) 时,抛出异常:</p> 
    
    Exception in thread "main" java.lang.NumberFormatException: For input string: "1.3"
            at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
            at java.lang.Integer.parseInt(Integer.java:580)
            at java.lang.Integer.valueOf(Integer.java:766)
            at .....(你的代码出错的地方 )

     

                            现在知道了,多谢
                        
    
                        <p>转换错误是对的,我删除了就能正常运行了。但是很奇怪每次进行到237行才报错</p>
    
    2020-06-06 14:48:23
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载