a tv ptoui bontres zoggax wiinq eep houctuh end
<a> is acceptable. <tv> is not acceptable. <ptoui> is not acceptable. <bontres> is not acceptable. <zoggax> is not acceptable. <wiinq> is not acceptable. <eep> is acceptable. <houctuh> is acceptable.
import java.io.*;
import java.util.*;
public class Main
{
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		while (input.hasNext())
		{
			boolean flag1 = false, flag2 = true, flag3 = true;
			String str = input.next();
			if (str.endsWith("end"))
				break;
			char c[] = str.toCharArray();
			// 第一个条件:必须包含至少一个元音字母
			for (int i = 0; i < c.length; i++)
			{
				if (c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o'
						|| c[i] == 'u')
				{
					flag1 = true;
					break;
				}
			}
			// 第二个条件:不能包含三个连续的元音字母或者三个连续的辅音字母
			int a = 0, b = 0;
			for (int i = 0; i < c.length; i++)
			{
				if (c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o'
						|| c[i] == 'u')
				{
					a++;
					if (a >= 3)
					{
						flag2 = false;
					}
					b = 0;
				} 
				else
				{
					b++;
					if (b >= 3)
					{
						flag2 = false;
					}
					a = 0;
				}
			}
			// 第三个条件:不能包含两个连续相同的字母,除了'ee'和'oo'这两种情况除外
			int i, j = 0;
			for (i = 1; i < c.length; i++, j++)
			{
				if (c[i] == c[j])
				{
					if (c[i] == 'e' || c[i] == 'o')
						continue;
					else
					{
						flag3 = false;
						break;
					}
				}
			}
			if (flag1 && flag2 && flag3)
			{
				System.out.println("<" + str + "> is acceptable.");
			} 
			else
			{
				System.out.println("<" + str + "> is not acceptable.");
			}
		}
	}
}
 )
)import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
	public static void main(String[] args) throws Exception {
		Scanner cin = new Scanner(System.in);
		while (cin.hasNext()) {
			String str = cin.next();
			if(str.equals("end"))
				break;
			Pattern p1 = Pattern.compile("[aeiou]{3}|[^aeiou]{3}");
			Pattern p2 = Pattern.compile("([a-df-np-z])\\1");
			Pattern p3 = Pattern.compile("[aeiou]+");
			Matcher m = p1.matcher(str);
			boolean flag = false;
			if(!m.find())
			{
				m = p2.matcher(str);
				if(!m.find())
				{
					m = p3.matcher(str);
					if(m.find())
						flag = true;
				}
			}
			if(flag)
				System.out.println("<"+str+"> is acceptable.");
			else
				System.out.println("<"+str+"> is not acceptable.");
		}
		cin.close();
	}
}HDU-1039-Easier Done Than Said?(Java && 没用正则表达式是我的遗憾.....)
原文:http://blog.csdn.net/qq_16542775/article/details/46402109