问题描述:
判断字符串是否符合(an)(bn)(c*n),符合就输出YES,否则输出NO。
样例输入:
输入 aaabbbccc 输出 YES
输入 aabbbccc 输出NO
代码如下:
import java.util.Scanner;
public class Fourth {
//判断字符串是否符合(a*n)*(b*n)*(c*n)
public static boolean isqulified(String target){
if (target.length()%3!=0) return false;//若长度都不满足,直接返回false
int count=0;//以第一个为基准进行判断
for (int i = 0; i <target.length()/3 ; i++) {
if (String.valueOf(target.charAt(i)).equals("a"))count++;
else return false;
}
for (int i = count; i <target.length()/3+count ; i++) {
if (String.valueOf(target.charAt(i)).equals("b"));
else return false;
}
for (int i = count*2; i <target.length() ; i++) {
if (String.valueOf(target.charAt(i)).equals("c"));
else return false;
}
return true;//所有情况都满足,放回true
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入字符串");
String target=scanner.nextLine();
if (isqulified(target))
System.out.println("YES");
else System.out.println("NO");
}
}
运行结果如下;