这篇是关于string字符串的运用,废话不说直接上代码。我会不定期更新自己整理的java资料
Demo1:获取一个字符串在另外一个字符串中出现的次数
public class Demo1 {
public static void main(String[] args) {
//获取一个字符串在另外一个字符串中出现的次数
int i=getTime("asdasdabcfgsdgdsawabcgsdgabcoo","abc");//创建的方法获取次数给i
System.out.println(i);
}
public static int getTime(String a,String b){
int count=0;
int len;
while((len=a.indexOf(b))!=-1){
//indexof(str)如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;
//如果它不作为一个子字符串出现,则返回 -1。
count++;
a=a.substring(len+b.length());
//返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
/*示例"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)
*/
}
return count;
}
}
注意点:1.初值len=a.indexOf(b),每次满足条件变成a=a.substring(len+b.length())
2.a字符串默认比b字符串长
Demo2:获取两个字符串最大的相同子串
public class Demo2 {
public static void main(String[] args) {
//获取两个字符串最大的相同子串
String a=getSameString("adasdabcdlkppqwe","sdfdfgjkodqwnrabcdlkasgsg");
System.out.println(a);
}
public static String getSameString(String a,String b){
String max=null;
String min=null;
String temp="";
if(a.length()>b.length()){ //将长的字符串赋值给max,短的赋值给min
max=a;
min=b;
}else{
max=b;
min=a;
}
for(int i=0;i<min.length();i++){
for(int j=0;j<=i;j++){
String substr=min.substring(j, min.length()-i+j);//从小的字符串开始,从左向右移位比较
if(max.contains(substr)){
if(temp.length()<substr.length()){//将长的相同字符串赋值给temp
temp=substr;
}
}
}
}
return temp;
}
}