我以字符串格式获取输出然后我将其拆分并希望进行进一步处理,这是我的代码片段,
if(str != null && !str.isEmpty()){
String[] splitLine = str.split("~");
String splitData[];
int i=0;
for( i=0;i<splitLine.length;i++){
splitData = splitLine[i].split("#");
if(Long.parseLong(splitData[0]) == oid)
isParent = true;
break;
}
}
但是,问题在于我无法获得 splitLine
String array 的长度,并且eclipse会为{{{strong>死代码显示警告在for循环内部,我无法理解为什么会发生这种情况有人对此有所了解。
答案 0 :(得分:3)
Ny
是问题所在。它属于前面的#include <stdio.h>
#include <stdlib.h>
int UpdateArray(int *array, int *Nx);
int main()
{
int Nx_max=1000000;
int *Ny;
int Nx, i;
Ny=(int*)malloc(Nx_max*sizeof(int));
UpdateArray(Ny, &Nx);
for(i=0; i<Nx; i++) {
printf("%d\n", Ny[i]);
}
return 0;
}
int UpdateArray(int *array, int *Nx)
{
int Nx0_min=500000, Nx0_max=1000000;
int Nx1_min=50000, Nx1_max=100000;
int Nx2_min=5000, Nx2_max=10000;
int Ny0_min=1, Ny0_max=10;
int Ny1_min=10, Ny1_max=100;
int Ny2_min=100, Ny2_max=1000;
int nx0, nx1, nx2, i, ix;
nx0 = Nx0_min + rand()%(Nx0_max-Nx0_min);
for(i=0; i<nx0; i++) {
array[i] = Ny0_min + rand()%(Ny0_max-Ny0_min);
}
nx1 = Nx1_min + rand()%(Nx1_max-Nx1_min);
for(i=0; i<nx1; i++) {
ix = rand()%nx0;
array[ix] = Ny1_min + rand()%(Ny1_max-Ny1_min);
}
nx2 = Nx2_min + rand()%(Nx2_max-Nx2_min);
for(i=0; i<nx2; i++) {
ix = rand()%nx0;
array[ix] = Ny2_min + rand()%(Ny2_max-Ny2_min);
}
*Nx = nx0;
return 0;
}
,但没有花括号。将其更改为:
break