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())); } }
关键改动说明
- 将初始字符串从
" "改为"":避免输出结果开头出现不必要的空格 - 拼接逻辑调整为
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
相关产品推荐
相关产品推荐

