共計(jì) 2081 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。
這篇文章主要介紹“Java 枚舉如何使用”,在日常操作中,相信很多人在 Java 枚舉如何使用問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java 枚舉如何使用”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學(xué)習(xí)吧!
/**
* Created by lifei on 16/5/28.
*
* 枚舉一般都不好使
*/
public class RegularExpressionMatching { public static void main(String[] args) {// System.out.println(new RegularExpressionMatching().isMatch(aa , a));
// System.out.println(new RegularExpressionMatching().isMatch(aa , aa));
// System.out.println(new RegularExpressionMatching().isMatch(aaa , aa));
// System.out.println(new RegularExpressionMatching().isMatch(ba , a*));
// System.out.println(new RegularExpressionMatching().isMatch(aa , .*));
// System.out.println(new RegularExpressionMatching().isMatch(ab , .*));
// System.out.println(new RegularExpressionMatching().isMatch(aab , c*a*b));
// System.out.println(new RegularExpressionMatching().isMatch(, ));
System.out.println(new RegularExpressionMatching().isMatch(abcdeff , .*));
// System.out.println(new RegularExpressionMatching().isMatch(a , ab*));
// System.out.println(new RegularExpressionMatching().isMatch(bb , .bab));
// System.out.println(new RegularExpressionMatching().isMatch(aa , a*aa));//true
}
/**
* 遞歸實(shí)現(xiàn)
*
*
*/
public boolean isMatch(String s, String p) { if (s == null)
return p == null;
if (p == null)
return s == null;
int lenS = s.length();
int lenP = p.length();
if (lenP == 0) // 正則式為空, 字符串必須為空符合條件
return lenS == 0;
if (lenP == 1) { // 正則長度為 1, 此時(shí)正則是不能為 * 的其他字符
if (p.equals(s) || p.equals(.) s.length() == 1) {
return true;
} else
return false;
}
if (p.charAt(1) != * ) { // 正則式的第二個(gè)字符不為 *
if (s.length() 0
(p.charAt(0) == s.charAt(0) || p.charAt(0) == . )) {// 如果第一個(gè)字符匹配, 則各自去除一個(gè)字符后繼續(xù)匹配
return isMatch(s.substring(1), p.substring(1));
}
return false;
} else { // 正則式的第二個(gè)字符為 *
while (s.length() 0
(p.charAt(0) == s.charAt(0) || p.charAt(0) == . )) {// 如果第一個(gè)字符匹配
if (isMatch(s, p.substring(2))) // 判斷 s 與 * 號之后的數(shù)據(jù)是否匹配, 如果匹配直接返回成功
return true;
s = s.substring(1);// 否則依次減小 s 的長度, 直到 s 長度為空
}
return isMatch(s, p.substring(2)); // s 長度為空后, 判斷 s 和 p 的 * 之后的部分是否匹配
}
}
}
到此,關(guān)于“Java 枚舉如何使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
正文完
發(fā)表至: 計(jì)算機(jī)運(yùn)維
2023-08-16