【发布时间】:2013-03-07 21:15:18
【问题描述】:
这是我目前所拥有的,我需要将这个字符串数组转换为一个整数数组,字符串数组看起来像这样
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";
这些值来自我读取的文本文件,但现在我需要将其转换为一个大整数数组,我尝试使用拆分方法,但我不确定它是否适用于这种设置。如果有人能给我一个更好的方法,那就太好了,但我只需要把它转换成一个整数数组,这就是我所需要的。
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: 错误: 找不到符号已解析 [q++} = Integer.parse(crtItem); ^ 符号:方法解析(字符串) 位置:整数类 1 个错误
【问题讨论】:
-
你在用括号做什么?我在您的
Strings 中没有看到任何内容? -
老实说,我不知道为什么它在那里,但它已被修复
-
parsed[q++] = Integer.parse(crtItem)应该是parsed[q++] = Integer.parseInt(crtItem) -
也许这是该问题的模拟代码,但在不以某种方式做出反应(再次抛出它?)或至少包含确认您打算悄悄地进行的评论的情况下执行
catch (NumberFormatException nfe) {};是有风险的删除非整数字符串。