求出含其中字符串的个数。的六种不同解法。
public static void main(String[] args) {
String str="不吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮,不吃葡萄倒吐葡萄皮萄皮,不吃";for(int x=0;x<str.length();x++)
{
if(str.contains("葡萄")) {//判断是否包含指定字符
str=str.replaceFirst("葡萄","");//将第一次出现的“葡萄”替换
System.out.println(str);
}else {
System.out.println(x);
break;
}
}
}
public void test5() {
String str="不吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮,不吃葡萄倒吐葡萄皮萄皮,不吃";
int count=0;
int x=0;
while(x!=-1) {
x=str.indexOf("葡萄");//得到第一次出现的下标
System.out.println("x="+x);
if(x!=-1) {
if((x+2)<str.length()) {
str=str.substring(x+2);//从(x+2)开始一直截取到字符串的最后
System.out.println(str);
}
count++;
}
}
System.out.println(count);
}
public void test4() {
String str="不吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮,不吃葡萄倒吐葡萄皮萄皮,不吃";
String[] data=str.split("不吃");
for(int i=0;i<data.length;i++) {
System.out.println(data[i]);
}
System.out.println(str.endsWith("不吃"));
if(str.endsWith("不吃")) {//判断是否以指定字符串结尾,是的话截取数组长度,等于该字符串个数。
System.out.println(data.length);
}else {
System.out.println(data.length-1);
}
}
public void test3() {
String str="吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮,不吃葡萄倒吐葡萄皮";
String str2=str.replace("葡萄", "");
System.out.println(str2);
System.out.println((str.length()-str2.length())/2);
}
public void test2() {
String str="吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮";
int count1=0;
int x=0;
while(x!=-1) {
x=str.indexOf("葡萄");
if(x!=-1) {
count1++;
str=str.replaceFirst("葡萄", "苹果");
}
System.out.println(x);
}
System.out.println(count1);
}
public void test1() {
String str="吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮";
String str1=str.replace("葡萄", " ");
char[] data = str1.toCharArray();
int count =0;
for(int i=0;i<data.length;i++) {
if(data[i]==' ') {
count++;
}
}
// for(char a:data) {
// if(a==' ') {
// count++;
// }
// }
System.out.println(count);
}