题目描述
小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。
给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。
元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
输入描述
输入一行,包含一个单词,单词中只包含小写英文字母。单词中的字母个数不超过 100。
输出描述
输出答案,或者为yes,或者为no。
输入输出样例
思路分析:此题需要判断四个区间,利用m来统计一共有几个区间单元,利用boolean值p1 p2来判断表示元音辅音字母,按照顺序首先给他们两个赋值字符串中首先要出现的是辅音字母,所以要先判断辅音字母给p2 赋值为true,p1为false,比如lanqiao 这个字符串,l为辅音字母,则会进入m++,第一个辅音单元判断完毕,下一个单元需要出现元音,则不需要进入判断辅音所以p2为false,p1为true.期间如果还会遇到辅音则会直接跳过,直到遇见元音再进入m++,以此类推最后判断m大小。
import java.util.Scanner;
public class Mian {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s=sc.next();
char arr[]=s.toCharArray();
boolean p1=false,p2=true;//p1判断是否为元音,p2判断是否为辅音。
int m=0;
for(int i=0;i<arr.length;i++){
if((arr[i]=='a'||arr[i]=='e'||arr[i]=='i'||arr[i]=='o'||arr[i]=='u')&&p1){
m++;
p1=false;
p2=true;
}
else if((arr[i]!='a'&&arr[i]!='e'&&arr[i]!='i'&&arr[i]!='o'&&arr[i]!='u')&&p2){
m++;
p2=false;
p1=true;
}
}
if(m==4){
System.out.println("yes");
}
else
System.out.println("no");
}
}