蓝桥杯-P0701(java)

问题描述

编写一个函数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");
        }
    }
}

你可能感兴趣的:(蓝桥杯,java,算法)