1. 判断一个字符串是否是回文串 例如"abc"不是对称字符串,“aba”、“abba”、“aaa”、"mnanm"是对称字符串
import java.util.Scanner;
public class day1701 {
public static void main(String[] args) {
//键盘录入字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符:");
String words = sc.nextLine();
//调用判断方法
System.out.println(fun(words));
}
//判断是否为回文串的方法
public static String fun(String string){
//将输入的字符串转换成字符数组,便于判断
char[] chars = string.toCharArray();
for (int i = 0; i < chars.length / 2; i++) {
if (chars[i] != chars[chars.length - 1]) {//判断回文串
return "该字符串不是回文串";
}
}
//符合条件
return "该字符是回文串";
}
}
思路:自定义方法返回是否为字符串,方法为将字符串转换成数组比较相对应的字符是否相等.
2. 统计大串中小串出现的次数 举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次
public class day1702 {
public static void main(String[] args) {
//创建大串和小串字符
String bigStr = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";
String smallStr = "java";
//定义计数变量
int count = 0;
for (int i = 0; i < bigStr.length(); i++) {
//判断字符串中是否含有smallStr
boolean tem = bigStr.contains(smallStr);
//找到在第几位出现了smallStr
i=bigStr.indexOf(smallStr);
if (tem == true) {//找到一次count加上1
count++;
//将字符串变为从上次找到smallStr(不包括)处开始下次循环
bigStr=bigStr.substring(i+smallStr.length());
}
}
System.out.println(smallStr+"共出现了"+count+"次");
}
}
思路:利用string的contains API判断大串中是否含有小串,若含有则循环查找,其中利用indexof API返回找到后的初始位置,然后加上小串的长度使得大串不包括前面已经查找到的字符串,最后输出计数变量.