蓝桥杯:P0701 单词复数
编写一个函数RegularPlural,其功能是实现一个英文单词的复数形式。复数的规则为:
(1) 如果单词末尾为s,x,z,ch或sh,则在后面加es
(2) 如果单词末尾为y,且前一个字母为辅音(除a, e, i, o, u以外的其它情况),则把y改成ies。
(3) 如果是其它情形,一律在后面加s。
编写测试程序,输入一个长度小于20的单词,输出该单词的复数形式。
输入:
box
输出:
boxes
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String str=input.next();
RegularPlural(str);
}
public static void RegularPlural(String str){
String s="aeiou";
String s1="sxz";
StringBuffer stringBuffer=new StringBuffer();
String []string=str.split("");//方便ies代替y
int len=string.length;
//判断最后一位是否包含辅音huo是否以y结尾
if (!s.contains(string[len-2])&&"y".equals(string[len-1])){
//不用for循环一个一个加入,直接截串
stringBuffer.append(str.substring(0,len-1));
stringBuffer.append("ies");
System.out.println(stringBuffer);
//判断是否以 s、x、z或ch、sh结尾
}else if(s1.contains(string[len-1])||"ch".equals(str.substring(len-2))||"sh".equals(str.substring(len-2))){
str+="es";
System.out.println(str);
}else{
str+="s";
System.out.println(str);
}
}
}