复数字符串转换为整数

时间:2014-01-04 11:34:55

标签: java string nullpointerexception string-formatting string-conversion

我正在尝试将包含字符串值的数组转换为整数值,我使用了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>

2 个答案:

答案 0 :(得分:1)

正如评论中所指出的,NPE的唯一可能性是下面的一个是空的。

  • DATAS
  • DATAS [I]
  • CMAX
  • CMAX [I]
  • NumberOfColumns

希望您可以通过查看这些程序来纠正程序。

注意:Java数组索引从0开始,而不是1。

答案 1 :(得分:0)

我的猜测是数据[datas.length-1] [NumberOfColumns] == null。

一点建议:将索引从0迭代到N-1(含),而不是从1到N.

相关问题