【蓝桥杯模拟赛】第七题 音节判断(java实现)
题目:
【问题描述】
小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。
给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。
元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
【输入格式】
输入一行,包含一个单词,单词中只包含小写英文字母。
【输出格式】
输出答案,或者为yes,或者为no。
【样例输入】
lanqiao
【样例输出】
yes
【样例输入】
world
【样例输出】
no
【评测用例规模与约定】
对于所有评测用例,单词中的字母个数不超过100。
import java.util.Scanner;
public class lq7 {
public static boolean test(char s) {
if(s=='a'||s=='e'||s=='i'||s=='o'||s=='u')
return true;
return false;
}
public static void main(String[] args) {
int count=0;
Scanner in=new Scanner(System.in);
String s=in.next();//输入字符串
if(test(s.charAt(0))||!test(s.charAt(s.length()-1)))
System.out.println("no");//如果首字母为元音字母或者尾字母为辅音字母则输出“no”
for(int i=0;i<s.length()-1;i++) {
if((!test(s.charAt(i))&&test(s.charAt(i+1)))||(test(s.charAt(i))&&!test(s.charAt(i+1)))) {
count++;//若某位为元音,下一位为辅音或者某位为辅音,下一位为元音,将这种变化的情况计数,按题目要求,“辅元辅元”一共会出现3次这种变化
}
}
if(!test(s.charAt(0))&&test(s.charAt(s.length()-1))&&count==3){//如果首辅尾元且出现3次元音辅音的转变则输出yes
System.out.println("yes");
}
}
}
本题参考了这位大神的思路,初见感觉犹如天神下凡
大佬的博客链接