我正在尝试将保存字符串值的数组转换为整数值,我使用了 parseInt 函数,但在执行时收到错误消息 (java.lang.NullPointerException)。我的代码片段如下
public int NumberOfColumns;
public int[][]CMax,CMin;
for (int i = 1; i < datas.length; i++)
{
for (int j = 1; j < NumberOfColumns+1; j++)
{
CMax[i][j] = Integer.parseInt(datas[i][j]);
System.out.println(CMax[i][j]);
System.out.println(datas[i][j]);
}
}
我感觉收到此错误消息是因为我的数据数组包含一些字符,例如“-”。存储在我的数据数组中的一些值的示例包括 0-31、8-*、<4-7>。我怎样才能成功解决这个问题?另外,我需要有关如何从这些字符串中仅提取整数(例如 0-31)的帮助。我想将上限(例如 31)存储到一个单独的整数数组中,将下限(例如 0)存储到另一个整数数组中。
下面是我的数据数组中一些值的摘录。
<0-15> <0-7>
<0-15> <0-7>
<0-15> <0-7>
<32-47> <0-7>
<32-47> <0-7>
最佳答案
正如评论中所指出的,NPE 的唯一可能性是以下其中之一为空。
- 数据
- 数据[i]
- C 最大
- CMax[i]
- 列数
希望您可以通过查看这些内容来纠正程序。
注意:Java 数组索引从 0 开始,而不是 1。
关于java - 复杂字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20920448/