我正在使用java中的一组字符。数组中间可能有一些缺少的条目,我需要知道最左边的索引是空的
我的代码是
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 :(得分: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
}
答案 1 :(得分:0)
private int checkMissingEntry(){
String tmp = new String(characterArray);
if (tmp != null)
return tmp.lastIndexOf(" ");
return -1;
}