1

这是我到目前为止所拥有的,我需要将此字符串数组转换为整数数组,字符串数组看起来像这样

wholef[0] = "2 3 4";
wholef[1] = "1 3 4";
wholef[2] = "5 3 5";
wholef[3] = "4 5 6";
wholef[4] = "3 10 2";

这些值来自我读取的文本文件,但现在我需要将其转换为一个大整数数组,我尝试使用 split 方法,但我不确定它是否适用于这种设置。如果有人能给我一个更好的方法,那就太好了,但我只需要将它转换为整数数组,这就是我所需要的。

for(int k = 0; k < fline; k++)
    {
        String[] items = wholef[k].replaceAll(" ", "").split(",");

        int[] parsed = new int[wholef[k].length];

        for (int i = 0; i < wholef[k].length; i++)
        {
            try 
            {
                parsed[i] = Integer.parseInt(wholef[i]);
            } catch (NumberFormatException nfe) {};
        }
    }

这是我现在使用的新代码,它非常接近,因为我只得到一个错误

int q = 0;
        for (String crtLine : wholef) 
        {
            int[] parsed = new int[wholef.length];

            String[] items = crtLine.split(" ");
            for (String crtItem: items) 
            {
                parsed[q++] = Integer.parse(crtItem);
            }
        }

错误是这个 java:97: error: cannot find symbol parsed[q++} = Integer.parse(crtItem); ^ 符号:方法解析(字符串)位置:类整数 1 错误

4

2 回答 2

4

试试这个:

int i = 0;
for (String crtLine : wholef) {
     String[] items = crtLine.split(" ");
     for (String crtItem: items) {
          parsed[i++] = Integer.parseInt(crtItem);
     }
}
于 2013-03-07T21:20:15.763 回答
2

这会将您的字符串数组转储到 intholef[n..total]; 如果你想把它变成二维数组或对象数组,你必须做一些额外的事情。然后你可以做一个对象数组,并将每组值作为一个属性。

 String[] parts = wholef[0].split(" ");
 int[] intwholef= new int[parts.length];

 for(int n = 0; n < parts.length; n++) {
    intwholef[n] = Integer.parseInt(parts[n]);
  }
于 2013-03-07T21:30:15.077 回答