问题描述
编写一个函数RegularPlural,其功能是实现一个英文单词的复数形式。复数的规则为: (1) 如果单词末尾为s,x,z,ch或sh,则在后面加es (2) 如果单词末尾为y,且前一个字母为辅音(除a, e, i, o, u以外的其它情况),则把y改成ies。 (3) 如果是其它情形,一律在后面加s。 编写测试程序,输入一个长度小于20的单词,输出该单词的复数形式。
样例输入
box
样例输出
boxes
我的思路:
没啥好说,就硬写。
代码:
package LanQiao;
import java.io.BufferedInputStream;
import java.util.Scanner;
/**
* Copyright (C), 2019-2021, Kkoo
* Author: kkoo
* Date: 2021/11/21 5:33 下午
* FileName: P0701
*/
public class P0701 {
public static void main(String[] args) {
Scanner in = new Scanner(new BufferedInputStream(System.in));
char[] str = in.nextLine().toCharArray();
if ((str[str.length - 1] == 's') || (str[str.length - 1] == 'x') || (str[str.length - 1] == 'z') || (str[str.length - 2] == 'c' && str[str.length - 1] == 'h') || (str[str.length - 2] == 's' && str[str.length - 1] == 'h')) {
for (char t : str) {
System.out.print(t);
}
System.out.print("es");
} else if (str[str.length - 1] == 'y' && (str[str.length - 2] != 'a' && str[str.length - 2] != 'e') && str[str.length - 2] != 'i' && str[str.length - 2] != 'o' && str[str.length - 2] != 'u') {
for (int i = 0; i < str.length - 1; i++) {
System.out.print(str[i]);
}
System.out.print("ies");
} else {
for (int i = 0; i < str.length; i++) {
System.out.print(str[i]);
}
System.out.print("s");
}
}
}
作者:Kkoo
链接:https://www.pwwwp.com/
著作权归作者所有。商业转载请联系作者进行授权,非商业转载请注明出处。