音节判断

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

emmmmm…具体解析后续可能会加上(也可能懒得写了),这个也不是最终版的,毕竟前面也写了老多次,都出现了各种问题,这个是目前为止没有发现问题的代码。

import java.util.Scanner;

//小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,
//第一段由一个或多个辅音字母组成,
//第二段由一个或多个元音字母组成,
//第三段由一个或多个辅音字母组成,
//第四段由一个或多个元音字母组成。
//给定一个单词,请判断这个单词是否也是这种单词,
//如果是请输出yes,否则请输出no。
//元音字母包括 a, e, i, o, u,共五个,
//其他均为辅音字母。
//【输入格式】输入一行,包含一个单词,单词中只包含小写英文字母。
//【输出格式】输出答案,或者为yes,或者为no。
//【样例输入】lanqiao【样例输出】yes【样例输入】world【样例输出】no
//【评测用例规模与约定】对于所有评测用例,单词中的字母个数不超过100。
public class Text01 {
	public static void main(String[] args) {
		//单独列出元音字母
		char []arr1 = {'a','e','i','o','u'};
		System.out.println("请输入一个单词:");
		String s = new Scanner(System.in).nextLine();
		int a = 0;
		while (true) {
			for(int i=0; i<arr1.length; i++) {
				if(s.indexOf(arr1[i])!=-1) {
					//将所有的元音字母用1来代替
					s = s.replace(arr1[i], '1');
				}
			}
			if(s.lastIndexOf('1') != s.length()-1) {
				System.out.println("no");
				break;
			}
			//以1为分界点将字符串存入一个字符串数组
			String []arr2 = s.split("1");
			for(int i=0; i<arr2.length; i++) {
				if(!arr2[0].isEmpty() && !arr2[i].isEmpty()) {
					a++;
				}
			}
			if(a==2) {
				System.out.println("yes");
				break;
			}else {
				System.out.println("no");
				break;
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值