You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定单词分为单数、复数两列?Java实现求助

解决方案

问题分析

你需要将给定的单词按单数形式和复数形式(末尾带大写S)分成两列,之前的代码错误地处理了大小写替换,且没有实现分类逻辑,所以无法达成预期。

可行Java代码实现

import java.util.ArrayList;
import java.util.List;

public class WordSplitter {
    public static void main(String[] args) {
        // 原始单词列表
        String[] wordList = {"AntS", "Ant", "BearS", "Bear", "CatS", "Cat", "DogS", "Dog", "FalconS", "Falcon"};
        
        List<String> singular = new ArrayList<>();
        List<String> plural = new ArrayList<>();
        
        // 遍历分类单词
        for (String word : wordList) {
            if (word.endsWith("S")) {
                plural.add(word);
                // 提取对应单数形式并去重
                String singForm = word.substring(0, word.length() - 1);
                if (!singular.contains(singForm)) {
                    singular.add(singForm);
                }
            } else {
                // 单数单词去重加入列表
                if (!singular.contains(word)) {
                    singular.add(word);
                }
            }
        }
        
        // 按两列格式输出
        System.out.println("单数形式\t复数形式");
        System.out.println("---------------------");
        for (int i = 0; i < singular.size(); i++) {
            String singWord = singular.get(i);
            String pluralWord = singWord + "S";
            System.out.printf("%-8s\t%s%n", singWord, pluralWord);
        }
    }
}

代码说明

  1. 先定义原始单词数组,用两个List分别存储去重后的单数和复数单词
  2. 遍历每个单词,通过endsWith("S")判断是否为复数形式:
    • 复数单词直接加入复数列表,同时提取去掉末尾S的单数形式,去重后加入单数列表
    • 单数单词直接去重后加入单数列表
  3. 最后按对齐的两列格式输出,确保单数和复数一一对应

输出结果

单数形式	复数形式
---------------------
Ant     	AntS
Bear    	BearS
Cat     	CatS
Dog     	DogS
Falcon  	FalconS

内容的提问来源于stack exchange,提问作者mightyboshy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:01:27