您的位置:首页 > 编程语言 > Java开发

java中String的字符串方法典型题目

2016-07-06 14:18 721 查看
题目:统计字符串”asdasdasjavajavaasdaImdsmfdsmiUjavasadjavaoosa”出现”java”的次数

其实这题目的解法特别多,前天看一大神的教学视频发现使用的方法就一种,即下面的method4,但是实际上我考虑了之后发现这种题目的做法真的特别多,而且能用上很多String类中的方法,能很好的复习字符串方法。代码如下:

StringTest2.java文件内容:

package cn.yeting.string;

/*
* 统计字符串"asdasdasjavajavaasdaImdsmfdsmiUjavasadjavaoosa"出现"java"的次数
*/
public class StringTest2 {
public static void main(String[] args) {
// 通过split方法来解决
method1();
// 通过indexOf来解决
method2();
// 通过replace来解决
method3();
// 通过indexOf 和substring
method4();
}

private static void method4() {
String s = "asdasdasjavajavaasdaImdsmfdsmiUjavasadjavaoosa";
// 定义统计次数
int countJava = 0;
// 定义查询下标
int indexOf;
while (true) {
indexOf = s.indexOf("java");
if (indexOf == -1) {
break;
}
countJava++;
s = s.substring(indexOf + 4);
}
System.out.println("method4:"+countJava);
}

private static void method3() {
String s = "asdasdasjavajavaasdaImdsmfdsmiUjavasadjavaoosa";
// 直接把"java"全替换成"",然后2个字符串长度想差除4即可
String s2 = s.replace("java", "");
System.out.println("method3:" + (s.length() - s2.length()) / 4);
}

private static void method2() {
String s = "asdasdasjavajavaasdaImdsmfdsmiUjavasadjavaoosa";
// 定义统计次数
int countJava = 0;
// 定义查询下标
int indexOf = s.indexOf("java");
while (indexOf != -1) {
countJava++;
indexOf = s.indexOf("java", indexOf + 4);
}
System.out.println("method2:" + countJava);
}

private static void method1() {
String s = "asdasdasjavajavaasdaImdsmfdsmiUjavasadjavaoosa";
String[] sp = s.split("java");
// 定义原长度
int lens = s.length();
// 定义split后的长度
int lensp = 0;
for (int i = 0; i < sp.length; i++) {
lensp += sp[i].length();
}
int countJava = (lens - lensp) / 4;
System.out.println("method1:" + countJava);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java