小明对类似于o这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组
成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,
组成
第四段由一个或多个元音字
给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出o。
元音字母包括a,e,i,o,u,共五个,其他均为辅音字母。
输入
输入一行,包含个单词,单词中只包含小写英文字母
输出
输出答案,或者为yes,或者为no。
小明对类似于o这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组
成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,
组成
第四段由一个或多个元音字
====看不大懂啊,有测试用例么
是指单词里有两段元音字符组,两段辅音字符组?
public class Test{
public static int yi(char ch)
{
if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' )
return 1;
return 0;
}
public static void main(String []args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextline();
int len = s.length();
if(yi(s.charAt(0)) ==1 || yi(s.charAt(len-1)) == 0)
System.out.println("no");
else
{
int n = 0;
for(int i=1;i<len;i++)
{
if(yi(s.charAt(i)) != yi(s.charAt(i-1)))
n++;
}
if(n==3)
System.out.println("yes");
else
System.out.println("no");
}
}
}
下面是详细代码实现,望采纳
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
// 使用Scanner类读入单词
Scanner scanner = new Scanner(System.in);
String word = scanner.next();
// 定义正则表达式
String regex = "^[bcdfghjklmnpqrstvwxyz]+[aeiou]+[bcdfghjklmnpqrstvwxyz]+[aeiou]+$";
// 创建Pattern对象
Pattern pattern = Pattern.compile(regex);
// 创建Matcher对象
Matcher matcher = pattern.matcher(word);
// 判断是否匹配成功
if (matcher.matches()) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
}