在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 為什么main方法中執(zhí)行完第一個方法完之后,后面的代碼都不執(zhí)行了?

為什么main方法中執(zhí)行完第一個方法完之后,后面的代碼都不執(zhí)行了?

package chap05;

public class StringFindTest {


public static void testFind(String str, String substr) {
    
    int count = 0;
    int pos = 0;
    
    do{
        if(str.indexOf(substr, pos) >= 0){
            
            count++;
            System.out.println("子串第"+count+"次出現(xiàn)的位置是:"+str.indexOf(substr, pos));
            pos = str.indexOf(substr, pos) + substr.length() - 1;
        }
        
    }while(pos >= 0);
    
}

public static void main(String[] args) {
    
    //StringFindTest test = new StringFindTest();
    String str = "AAA01234AA01234aa012340aAA01234Aa01234aa";
    String substr = "AA";
    //不區(qū)分大小寫
    testFind(str.toUpperCase(), substr.toUpperCase());
    //區(qū)分大小寫
    testFind(str, substr);
}

}

運行結果

子串第1次出現(xiàn)的位置是:0
子串第2次出現(xiàn)的位置是:1
子串第3次出現(xiàn)的位置是:8
子串第4次出現(xiàn)的位置是:15
子串第5次出現(xiàn)的位置是:23
子串第6次出現(xiàn)的位置是:24
子串第7次出現(xiàn)的位置是:31
子串第8次出現(xiàn)的位置是:38


如上,請問是為什么?

回答
編輯回答
小眼睛

跳出do..while循環(huán)即可,要不然if(str.indexOf(substr, pos) >= 0)和while(pos >= 0)一直重做。
加個else{break;};

2018年7月29日 03:07