程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> substring-java中continue語句,在主串中匹配字串,那個雙層嵌套不是很懂,有大神幫解釋下嗎

substring-java中continue語句,在主串中匹配字串,那個雙層嵌套不是很懂,有大神幫解釋下嗎

編輯:編程解疑
java中continue語句,在主串中匹配字串,那個雙層嵌套不是很懂,有大神幫解釋下嗎
 class ContinueWithLabelDemo{
    public static void main(String[] args) {
        String searchMe = "Look for a substring in me";
        String substring = "sub";
        boolean foundIt = false;

        int max = searchMe.length() - substring.length();
        test:
            for(int i = 0; i <= max; i++){
                int n = substring.length();
                int j = i;
                int k = 0;
                while(n-- != 0){
                    if(searchMe.charAt(j++) != substring.charAt(k++)){
                        continue test;
                    }
                }
                foundIt = true;
                    break test;
            }
        System.out.println(foundIt ? "Found it" : "Didn't find it"); 
    }
}

最佳回答:


for循環每一次都是for(int i = 0;i<=23;i++),都要執行24次。關鍵的while循環,n=3(子串的長度),只要n不等於0(也就是說要循環子串每個字符),就去判斷主串是否跟子串的字符相等,如果相等就循環判斷子串的每一個位置的字符,直到遍歷子串結束為止(while循環干的),foundIt為true(找到了),break test跳出test,程序結束。如果不相等,則說明當前位置的主串字符跟子串字符不同,則continue test,繼續執行for循環(此時i++了,也就是取主串下一個字符了),直到判斷主串結束為止。

我上面說的可能還是不明白,建議自己設置斷點,調試,看下每一步值的變化。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved