Android 向已存在重复编号的列表中添加编号

Android 向已存在重复编号的列表中添加编号,android,Android,这一个非常适合阵列。我需要一些帮助与重复在现有的数字只列出 /* ADDING NUMBERS TO ArrayLIST AND IF NEW NUMBER ENTERED SAME AS already EXISTING NUMBER RESAULT IS DUBLICATE; */ private String[] phoneNumbers; public String addPhoneNumber(String newPhoneNumber) throws SMSDataModelFu

这一个非常适合阵列。我需要一些帮助与重复在现有的数字只列出

/*
ADDING NUMBERS TO ArrayLIST AND IF NEW NUMBER ENTERED SAME AS already EXISTING NUMBER
RESAULT IS DUBLICATE;
 */
private String[] phoneNumbers;

public String addPhoneNumber(String newPhoneNumber) throws SMSDataModelFullException {
    String result;

    if (numPhoneNumbers == phoneNumbers.length) {
        result = FULL;
    } else {
        boolean exists;
        exists = findPhoneNumberIndex(newPhoneNumber) != -1;
        if (exists) {
            result = DUPLICATE;
        } else {
            phoneNumbers[numPhoneNumbers] = newPhoneNumber;
            numPhoneNumbers++;
            result = newPhoneNumber;
        }
    }
    return result;
}
私人列表电话号码;
公共字符串addPhoneNumber(字符串newPhoneNumber)引发SMSDataModelFullException{
字符串结果;
if(maxNumPhoneNumbers!=0&&phoneNumber.size()>=maxNumPhoneNumbers){
抛出新的SMSDataModelFullException(newPhoneNumber);
}
否则{
布尔存在;
exist=findPhoneNumberIndex(新电话号码)!=-1;
如果(存在)
{
结果=重复;
}
否则{
添加(新电话号码);
}
返回newPhoneNumber;
}
}

这个坏了,我做错了什么?重复输入列表未显示原因。

您始终返回
newPhoneNumber

private List<String> phoneNumber;

public String addPhoneNumber(String newPhoneNumber) throws SMSDataModelFullException {

    String result;

    if (maxNumPhoneNumbers!=0 && phoneNumber.size() >= maxNumPhoneNumbers) {
        throw new SMSDataModelFullException(newPhoneNumber);
    }
    else{
        boolean exist;
        exist =findPhoneNumberIndex(newPhoneNumber)!= -1;
        if(exist)
        {
            result = DUPLICATE;
        }
        else{
            phoneNumber.add(newPhoneNumber);
        }
        return  newPhoneNumber;
    }
}
public String addPhoneNumber(String newPhoneNumber) {

    String result = newPhoneNumber;

    if(!phoneNumber.contains(newPhoneNumber)){  // if it is not already in the list
       phoneNumber.add(newPhoneNumber);         // add it to the list
    }else{
       result = "DUPLICATE";                      // if number was already in the list result = DUPLICATE
    }

    return result;

}
执行与第一种情况相同的操作

    return  newPhoneNumber;

您的
findPhoneNumberIndex()
也可以替换为
phoneNumber.contains(newPhoneNumber)

您的问题不清楚。你能再澄清一点吗?发布
findPhoneNumberIndex()
如何更改if(numPhoneNumbers==phoneNumbers.length)以列出?也许可以使用size或contain代替.length?很高兴能提供帮助。请您投票接受我的答案,因为它对您有帮助吗?:)在我的答案后面和答案的分数下面一定有一个灰色的勾号。您单击它,它将变为绿色!:)
...
    if (exists) {
        result = DUPLICATE;
    } else {
        phoneNumber.add(newPhoneNumber);
        result = newPhoneNumber;
    }
}
return result;