无法获得字符串数组的长度

时间:2016-12-17 14:07:26

标签: java arrays

我以字符串格式获取输出然后我将其拆分并希望进行进一步处理,这是我的代码片段,

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循环内部,我无法理解为什么会发生这种情况有人对此有所了解。

1 个答案:

答案 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