我目前有一个程序在数组上工作,使用for循环遍历数组,其中嵌入的if语句将数组中的元素与我正在查找的元素匹配。我需要修改它,以便它会找到同一元素的第二次出现。关于如何做到这一点的想法?
String[] myStringArray = {"a", "b", "c", "a", "d", "e", "f"};
for(int i=0; i<myStringArray.length; i++) {
if(myStringArray[i].equalsIgnoreCase("a") {
//do something
}
}
如上所述,这将找到第一个a
,我将对此进行处理,但第二个a
也需要采取行动。
答案 0 :(得分:4)
使用计数器。
String[] myStringArray = {"a","b","c","a","d","e","f"};
int occurrences = 0;
for(int i=0; i<myStringArray.length;i++{
if(myStringArray[i].equalsIgnoreCase("a"){
occurrences++;
if(occurrences == 2) {
// Do something
}
}
}
答案 1 :(得分:1)
计算搜索到的元素的出现次数,并在发现两次出现时中断循环:
String[] myStringArray = {"a","b","c","a","d","e","f"};
int count=0;
for(int i=0; i<myStringArray.length;i++){
if(myStringArray[i].equalsIgnoreCase("a")){
count++;
}
if(count==2){
System.out.println("the index of the second occurence is:"+ i);
break;
}
}
看看this DEMO。
答案 2 :(得分:0)
例如,你可以创建一个由0初始化的int计数器,并在找到第一个元素时递增它,所以当你得到第二个元素时,你检查标志,如果标志设置为1,你就可以做一些事情。 / p>