String练习题
1.字符串反转,例如将"abc"变成"cba"
2.统计一个字符串里面另一个字符串出现的次数,例如统计"monkey"在"I am monkey1024.monkey like banana.little monkey is smart."中出现的次数
3.统计一个字符串中大写字母出现的次数
答案
1.思路:字符串是由多个字符组成的,可以将字符串转换为字符(char)数组,然后倒序遍历数组即可
import java.util.Scanner;
/**
* 字符串反转
*
*/
public class Exercise01 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String input = s.next();
//将输入的字符串转换为char类型数组
char[] charArray = input.toCharArray();
//遍历数组并倒着输出
for(int i=charArray.length-1; i>=0; i--){
System.out.print(charArray[i]);
}
}
}
2.思路:通过indexOf方法在大的字符串中查找小字符串的索引值,找到后将这个索引值和小字符串的长度相加,之后将大的字符串截取根据相加的结果截取子串,然后继续在剩下的字符串中查找小字符串的索引值,直到索引值返回-1为止
/**
* 统计一个字符串里面另一个字符串出现的次数
*
*/
public class Exercise02 {
public static void main(String[] args) {
String src = "I am monkey1024.monkey like banana.little monkey is smart.";
String dest = "monkey";
//定义出现的次数
int count = 0;
//定义索引值
int index = 0;
while((index = src.indexOf(dest)) != -1){
count++;
//将src截取子串
src = src.substring(index + dest.length());
}
System.out.println("出现的次数是:" + count);
}
}
3.思路:每个大写字母都是一个字符char,而大写字母A~Z是有范围的,只要统计这个范围内的字符即可
public class Exercise03 {
public static void main(String[] args) {
String src = "monkEY";
//统计大写字母出现的次数
int count = 0;
//将字符串转换为字符数组
char[] c = src.toCharArray();
for(int i=0; i<c.length; i++){
//判断是否为大写字母
if(c[i] >= 'A' && c[i] <= 'Z'){
count++;
}
}
System.out.println("大写字母出现的次数:" + count);
}
}
网友评论