首页 > 解决方案 > 当我想缩写两个单词时出现错误

问题描述

我想缩写名字中包含 3 个或更多名字的名字。另外,我想把'。它们之间。
谢谢

例如 sam harris dorothy 我的期望输出如下 s.h.d

我的代码是这样的

    public class AbbreviateTwoWords {
        public static void main(String[] args) {

            String shs = abbrevName("Sam Harris");
            System.out.println(shs);
        }

        public static String abbrevName(String name) {
        
            String[] splitnamelist = name.split(" ");
            char[] shortform = new char[10];
            String point = ".";
        
            int initial = 0;
            for (String i : splitnamelist) {
                if (initial % 2 == 0) {
                    shortform[initial] = i.charAt(0);
        
                    initial++;
                } else {
                    shortform[initial]=point;
                    initial++;
                }

                return new String(shortform);
            }
        }
    }

标签: javastring

解决方案


为什么要复杂化并使用char数组,我无论如何都用索引猜测它的东西只是使用字符串并连接:

 public static String abbrevName(String name) {
            
         String[]splitnamelist=name.split(" ");
         String shortform="";
 
         
         for (String currentName:splitnamelist) {
             shortform=shortform+currentName.charAt(0);
             shortform=shortform+".";
         }
          //remove the last dot
         if (shortform.length()>0)
         {
         shortform=shortform.substring(0, shortform.length()-1);
         }
         return shortform;
     }

推荐阅读