package com.String;public class A {
public static void main(String[] args) {
String str = "this is a test of java";
t1(str);// static方法可直接调用
t2(str);
t3(str);
t4(str);
t5(str);
t6(str);
t8("123321");
} // 1.统计该字符串中字母s出现的次数
public static void t1(String str) { int num = 0;// 定义一个计数器
for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i);// 获取当前位置的字符
if (ch == 's') {
num++;// 若有一个S,计数器+1
}
}
System.out.println("字符串中共有:" + num + "个s");
} // 2.取出子字符串"test"
public static void t2(String str) { int beginIndex = str.indexOf("test");// 子字符串的位置第一次出现的位置
int endIndex = beginIndex + 4;
String s = str.substring(beginIndex, endIndex);
System.out.println(s);
} // 3.用多种方式将本字符串复制到一个字符数组Char[]中
public static void t3(String str) { // 方法一:Char[] ch=str.toCharArray();
// 方法二:
char[] ch = new char[str.length()];// 定义一个数组
for (int i = 0; i < str.length(); i++) {
ch[i] = str.charAt(i);// 取出特定位置的字符交给数组
}
System.out.println(ch.length + "," + str.length());// 数组长度和字符串长度一致,则说明复制成功
} // 4.将字符串中每个单词的第一个字母变成大写, 输出到控制台。
public static void t4(String str) {
String[] ss = str.split(" ");// 以空格分出单词,得到字符串数组
String result = ""; for (int i = 0; i < str.length(); i++) { char c = ss[i].charAt(0);// 将单词的首字母取出
String s = String.valueOf(c);// 将字符转为字符串 或者a-97,A-65
String s1 = s.toUpperCase();// 变为大写
System.out.println(s1);
String s2 = s1 + ss[i].substring(1);// ss[i].substring(1):截取出每个单词中除了首字母之外剩下的字符串
result = result + s2 + " ";
}
System.out.println(result);
} // 5.实现该字符串的倒序输出
public static void t5(String str) {
String s = new StringBuffer(str).reverse().toString();// 匿名对象调用reverse方法逆转之后,变成字符串
System.out.println(s);
} // 6.将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台
public static void t6(String str) {
String[] ss = str.split(" ");// 用空格分隔
for (int i = 0; i < str.length(); i++) { // 判断当前ss[i]是不是有效的单词:
boolean b = true;// 定义标志量b,默认b有效
for (int j = 0; j < str.length(); j++) { if (!((ss[i].charAt(j) >= 'a' && ss[i].charAt(j) <= 'z') || (ss[i]
.charAt(j) >= 'A' && ss[i].charAt(j) <= 'Z'))) {
b = false;// ss[i]不是单词,只要有一个不是就跳出循环
break;
}
} if (b) {
System.out.println(ss[i]);
}
}
System.out.println("----------");
} // 8.判断输入字符串是否为回文(如 12344321、abccba是回文 112233不是)--对折后相同
public static void t8(String str) { //方法三:将字符串逆转,和原串相同,则为回文
//方法二:前一半和后一半字符串做计较
String s1 = str.substring(0, str.length() / 2);// 前一半字符串
String s2 = str.substring(str.length() / 2 + (str.length() % 2), str.length());// 后一半字符串
String s3 = new StringBuffer(s2).reverse().toString(); if (s1.equals(s3)) {
System.out.println("true");
}
}
} // 7.实现该字符串的按词倒叙输出。(即输出siht si a tset fo avaj).
转载于:https://blog.51cto.com/11938725/1834964