在老师的建议下,进行单步调试,哎结果调试了也不懂为什么越界了,我就觉得很奇怪,我就试了一下split函数,但我看了split源码返回值的确是String[],并且我还特意中文和英文逗号都尝试了,那么问题只有可能出在str.split的str了。
然后我就突发奇想,估计是nextInt后面使用nextLine每次取数出现问题了,于是我就将字符串后面加入感叹号观察。结果果然是这个问题,如下图,结果输出了三个感叹号,也就是tempStr变量为空。那么怎么解决呢,虽然我想到了用next方法,但是失败了。
所以最后的结果显而易见了,如下图所示全部改成nextLine总可以了吧。
总结
使用nextInt后面使用nextLine非常麻烦,干脆全用nextInt或者nextLine就可以了。