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

Java实现首字母缩写词(Acronym)每个字母后添加句点的问题求助

你的代码已经能正确筛选出符合要求的大写首字母,只需要在拼接时给每个字母加上句点,同时修正初始字符串的多余空格问题即可解决。

修改后的代码

import java.util.Scanner;

public class LabProgram {
    
     public static String createAcronym(String userPhrase) {
        String[] separatedWords = userPhrase.split(" ");
        String acronymAlphabets = ""; // 初始化空字符串,避免开头出现多余空格

        for(int i = 0; i < separatedWords.length; ++i) {
            char firstChar = separatedWords[i].charAt(0);
            if(Character.isUpperCase(firstChar)) {
                // 每个符合条件的大写字母后直接拼接句点
                acronymAlphabets += firstChar + ".";
            }
        }

        return acronymAlphabets;
    }
   
    public static void main(String[] args) {
        Scanner userInput = new Scanner(System.in);
        System.out.println(createAcronym(userInput.nextLine()));
    }
}

关键改动说明

  1. 将初始字符串从" "改为"":避免输出结果开头出现不必要的空格
  2. 拼接逻辑调整为acronymAlphabets += firstChar + ".";:确保每个被选中的大写字母后紧跟句点

性能优化版(可选)

如果输入的短语较长,推荐使用StringBuilder来提升字符串拼接的性能:

public static String createAcronym(String userPhrase) {
    String[] separatedWords = userPhrase.split(" ");
    StringBuilder acronymBuilder = new StringBuilder();

    for(int i = 0; i < separatedWords.length; ++i) {
        char firstChar = separatedWords[i].charAt(0);
        if(Character.isUpperCase(firstChar)) {
            acronymBuilder.append(firstChar).append(".");
        }
    }

    return acronymBuilder.toString();
}

测试示例输入:

  • 输入Institute of Electrical and Electronics Engineers,输出I.E.E.E.
  • 输入Association for computing MACHINERY,输出A.M.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:36:27