Java String方法獲取字符出現(xiàn)次數(shù)及字符最大相同部分示例
本文實(shí)例講述了Java String方法獲取字符出現(xiàn)次數(shù)及字符最大相同部分。分享給大家供大家參考,具體如下:
package demo;
public class Test {
public static void main(String[] args) {
String str = "dasdalldsdslldsdszxll";
System.out.println("count="+get(str,"ll"));//打印ll出現(xiàn)的次數(shù)
String s1 = "asdhellovdvdvv";
String s2 = "cvfhelloff";
System.out.println("temp="+gett(s1,s2));//打印兩個(gè)字符串最大相同的部分
}
/* public static int get(String str,String key)
{
int count = 0;
int index = 0;//定義一個(gè)位置
while((index = str.indexOf(key))!=-1)//直到取不到需要的字符結(jié)束循環(huán)
{
str = str.substring(index + key.length());//字符串長度變化獲得新的字符串
count++;
}
return count;
}
*/
//第二種方法,大同小異
public static int get(String str,String key)
{
int count = 0;
int index = 0;
while((index = str.indexOf(key,index))!=-1)
{
index = index + key.length();
count ++;
}
return count;
}
public static String gett(String s1,String s2)
{
String max = "";
String min = "";
max = s1.length() > s2.length()?s1:s2;
min = max == s1?s2:s1;//取短的字符串比較節(jié)省內(nèi)存
for(int x = 0;x < min.length();x++)
{
for(int y = 0,z = min.length() -x;z!=min.length()+1;y++,z++)
{
String temp = min.substring(y,z);
if(max.contains(temp))
return temp;
}
}
return "";
}
}
運(yùn)行結(jié)果:

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
教你如何把Eclipse創(chuàng)建的Web項(xiàng)目(非Maven)導(dǎo)入Idea
這篇文章主要介紹了教你如何把Eclipse創(chuàng)建的Web項(xiàng)目(非Maven)導(dǎo)入Idea,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Java設(shè)計(jì)模式之代理模式原理及實(shí)現(xiàn)代碼分享
這篇文章主要介紹了Java設(shè)計(jì)模式之代理模式原理及實(shí)現(xiàn)代碼分享,設(shè)計(jì)代理模式的定義,靜態(tài)代理,動(dòng)態(tài)代理,jdk動(dòng)態(tài)代理實(shí)現(xiàn)步驟,原理及源碼等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
Mybatis-plus新版本分頁失效PaginationInterceptor過時(shí)的問題
這篇文章主要介紹了Mybatis-plus新版本分頁失效,PaginationInterceptor過時(shí)問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Java中零拷貝和深拷貝的原理及實(shí)現(xiàn)探究(代碼示例)
深拷貝和零拷貝是兩個(gè)在 Java 中廣泛使用的概念,它們分別用于對象復(fù)制和數(shù)據(jù)傳輸優(yōu)化,下面將詳細(xì)介紹這兩個(gè)概念的原理,并給出相應(yīng)的 Java 代碼示例,感興趣的朋友一起看看吧2023-12-12
@Scheduled注解不能同時(shí)執(zhí)行多個(gè)定時(shí)任務(wù)的解決方案
這篇文章主要介紹了@Scheduled注解不能同時(shí)執(zhí)行多個(gè)定時(shí)任務(wù)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
AOP之事務(wù)管理<aop:advisor>的兩種配置方式
這篇文章主要介紹了AOP之事務(wù)管理<aop:advisor>的兩種配置方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java數(shù)字轉(zhuǎn)換工具類NumberUtil的使用
NumberUtil是一個(gè)功能強(qiáng)大的Java工具類,用于處理數(shù)字的各種操作,包括數(shù)值運(yùn)算、格式化、隨機(jī)數(shù)生成和數(shù)值判斷,下面就來介紹一下NumberUtil的具體使用,感興趣的可以了解一下2025-02-02
使用Nacos實(shí)現(xiàn)動(dòng)態(tài)路由的步驟和代碼示例
這篇文章主要介紹了使用 Nacos 實(shí)現(xiàn) Spring Cloud Gateway 的動(dòng)態(tài)路由,本文給大家介紹了具體的實(shí)現(xiàn)步驟和代碼案例,感興趣的小伙伴跟著小編一起來看看吧2024-09-09

