音节判断

Lan
Lan
2020-10-14 / 0 评论 / 572 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年10月14日,已超过1536天没有更新,若内容或图片失效,请留言反馈。

【问题描述】
小明对类似于 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;
	}
}


1

评论 (0)

取消