我正在尝试将包含字符串值的数组转换为整数值,我使用了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- *,&lt; 4-7&gt;。如何成功解决此问题?另外,我需要有关如何仅从这些字符串中提取整数的帮助(例如0-31)。我想将上限(例如31)存储到单独的整数数组中,并将下限(例如0)存储到另一个整数数组中。
以下是我的数据数组中某些值的摘录。
<0-15> <0-7>
<0-15> <0-7>
<0-15> <0-7>
<32-47> <0-7>
<32-47> <0-7>
答案 0 :(得分:1)
正如评论中所指出的,NPE的唯一可能性是下面的一个是空的。
希望您可以通过查看这些程序来纠正程序。
注意:Java数组索引从0开始,而不是1。
答案 1 :(得分:0)
我的猜测是数据[datas.length-1] [NumberOfColumns] == null。
一点建议:将索引从0迭代到N-1(含),而不是从1到N.