【问题描述】 小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。 给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。 元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。 【输入格式】 输入一行,包含一个单词,单词中只包含小写英文字母。 【输出格式】 输出答案,或者为yes,或者为no。 【样例输入】 lanqiao 【样例输出】 yes 【样例输入】 world 【样例输出】 no 【评测用例规模与约定】 对于所有评测用例,单词中的字母个数不超过100。
import java.util.*;
public class 音节判断 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
List<String> b = new ArrayList<String>();
String[] t = new String[] { "false", "true", "false", "true" };
char[] a = sc.next().toCharArray();
for (int i = 0; i < a.length; i++) {
String c = String.valueOf(isyuanyin(a[i]));
if (i > 1) {
if (c == b.get(b.size() - 1)) {
continue;
} else {
b.add(c);
}
} else {
b.add(c);
}
}
boolean flag = true;
for (int i = 0; i < b.size(); i++) {
if (t[i] != b.get(i)) {
flag = false;
break;
}
}
if (b.size() < 4) {
System.out.println("no");
} else {
if (flag) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
}
// 判断是否是元音
public static boolean isyuanyin(char i) {
char[] b = { 'a', 'e', 'i', 'o', 'u' };
boolean result = false;
for (int j = 0; j < b.length; j++) {
if (i == b[j]) {
result = true;
break;
}
}
return result;
}
}