音节判断

2022-07-13 21:54:13 浏览数 (1)

【问题描述】 小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。 给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。 元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。 【输入格式】 输入一行,包含一个单词,单词中只包含小写英文字母。 【输出格式】 输出答案,或者为yes,或者为no。 【样例输入】 lanqiao 【样例输出】 yes 【样例输入】 world 【样例输出】 no 【评测用例规模与约定】 对于所有评测用例,单词中的字母个数不超过100。

代码语言:javascript复制
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;
	}
}
uml

0 人点赞