对于大量数据,每一列代表一个不同的变量。我正在尝试提取每个数字,并将其放入每行的数组中。
下划线表示空格
2___2___2_______3___1___19
1___3___2_______3___3___19
1___3___4_______3___1___19
6___3___6_______5_______13
5___2___5_______5_______13
5___4___4___7___4_______13
spaceForNew表示在找到下一个变量之前还剩下多少个字符。这与当前变量不同。
我使用了以下代码:
public static int[] remaining(String Line)throws IOException
{
int[] data = new int[7];
int pointer = 0;
int spaceForNew = 0;
for(int i = 0;i<=Line.length()-1;i++)
{
if(i<Line.length()-1)
{
if((i == spaceForNew)&&(pointer<6))
{
//two digit
if((Line.charAt(i)=='1')&&(Line.charAt(i+1)=='0'))
{
data[pointer] = 10;
spaceForNew+=3;
pointer++;
//one digit
}else if((Line.charAt(i)!= ' ')&&(Line.charAt(i+1)!='0')){
data[pointer] = Integer.parseInt(Character.toString(Line.charAt(i)));
spaceForNew+=2;
pointer++;
}else if((Line.charAt(i)==' ')&&(data[pointer]==0)){
data[pointer]=-1;
spaceForNew++;
pointer++;
}
}
}else {
if(pointer==6)
{
data[pointer]=Integer.parseInt(Character.toString(Line.charAt(i)));
}
}
}
return data;
}
下面的代码很可怕,也不是很直观,但似乎对许多数据有效,但以一种几乎是随机的方式失败了。如有任何建议,我们将不胜感激。
https://stackoverflow.com/questions/56468331
复制相似问题