2014-03-25 43 views
0

我正在使用java中的一組字符。該陣列可以在中間有一些缺少的條目,我需要知道是空的最左邊的指數Android JAVA如何檢查char數組的某些索引是否爲空

我的代碼是

private int checkMissingEntry(){ 
    int p = 0; 
    for(int i = characterArray.length - 1; i >= 0; i--){ 
     if (characterArray[i] == ' '){ 
      p = i; 
     } 
     else{ 

     } 
    } 

    return p; 
} 

然而,characterArray[i] == ' '不檢測空字符,代碼總是返回無論p最初分配給什麼,在這種情況下0. if語句永遠不會被執行。

我試過'\0''\u0000'但似乎沒有工作。

解決方案是什麼?

+0

對我來說工程確定,新的char [] { 'A', 'B', 'C', 'd', '','e'};它返回4 –

+1

「'不完全是空的,它只是一個空間。不知道你是在找什麼。也許你應該檢查null或characterArray [i] == 0.看看這個鏈接http://www.asciitable.com/ –

回答

0

爲什麼不從左到右搜索並在到達第一個缺失字符時立即返回索引?

編輯:包含缺失值例如陣列

private int checkMissingEntry(){ 

    char[]characterArray = new char[4]; // 4 characters in 1 array 
    characterArray[0] = 'a'; //but we'll only set values for 3 of them 
    characterArray[2] = 'b'; //so: index 1 is your empty character 
    characterArray[3] = 'd'; 


    for(int i = 0; i < characterArray.length ; i++){ 

     char c = characterArray[i]; //get the character at index i 

     if(c =='\0' || c =='\u0000'){ //check for empty character 
      return i; //return index 
     } 

    } return -1; //only returns -1 if characterArray does not contain the empty character 
} 
0
private int checkMissingEntry(){ 
    String tmp = new String(characterArray); 
    if (tmp != null) 
     return tmp.lastIndexOf(" "); 
    return -1; 
} 
相關問題