有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java验证两个值是否包含在同一索引的单独ArrayList中

我有两个数组列表:phNumbers和pinNumbers。两者都含有相同数量的元素。我试图检查给定的值是否在第一个phNumbers中,如果是,在phNumbers数组列表的哪个索引中找到了该值。然后,我想检查第二个值是否位于之前标识的索引的pinNums ArrayList中

这是我的代码,所以现在:

for(int i = 0; i < phNumbers.size() && i < pinNums.size(); i++){
    index1 = phNumbers.indexOf(i);
    index2 = phNumbers.indexOf(i);
    index3 = pinNums.indexOf(i);
    if(phNumbers.get(i).equals(details[1].trim()) && pinNums.get(index1+1).equals(details[2].trim())){
        //send response1
    }
    else if(phNumbers.get(i).equals(details[1].trim()) && !pinNums.get(index2+1).equals(details[2].trim())){
        //send response2
    }
    else if(pinNums.get(i).equals(details[2].trim()) && !phNumbers.get(index3+1).equals(details[1].trim())){
        //Send response3
    }
    else{
        //send response4
    }
}

我遇到的问题是,它不适用于第一个元素之外的任何元素,所以我假设这是我的for循环的问题。有人能帮忙吗


共 (1) 个答案

  1. # 1 楼答案

    所以,首先,如果你有一个phNumber数组列表和一个phNumber字符串,那么试试这个

     ArrayList<String> phNumbers = new ArrayList<>();
            phNumbers.add("aaa");
            phNumbers.add("bbb");
            phNumbers.add("ccc");
            phNumbers.add("ddd");
            ArrayList<String> pinNums = new ArrayList<>();
            pinNums.add("ddd");
            pinNums.add("bbb");
            pinNums.add("ccc");
            pinNums.add("aaa");
            for (int i = 0; i < phNumbers.size(); i++) {
                for (int j = i; j < pinNums.size(); j++) {
                    if (phNumbers.get(i).equalsIgnoreCase(pinNums.get(j))) {
                        Log.e("mye", "phone number and pin number match on this index" + i + "for phnumber and index " + j + "for pin number");
                    }
                }
            }
    

    如果你想在某一点后突破,那么你需要打破循环。 没关系,还是你还要别的