java - 如何在预制字符串的每个字符之间添加任何字符?

标签 java string algorithm

<分区>

如何在预制字符串的每个字符之间添加任意一个字符? (Java)

例如,我有一个字符串“Hello world”,我必须在该字符串的每个字符之间添加“_”。

我可以使用任何函数或有用的代码来做到这一点吗?

我必须做一个让我输出“H_e_l_l_o_ _w_o_r_l_d”的算法

这是我的:

public String example(String s) {
        String s2 = null;
        for(int i = 0; i < s.length(); i++){
            s2 += s.charAt(i) + (((i+1) == 0) ? " " : "-");     
            }
        return s2;
     }

我在主类中的输出是:

nullH-e-l-l-o- -w-o-r-l-d-

不知道为什么

最佳答案

这看起来像是家庭作业。所以,我不会直接写出所有的代码。

String = "hello world";

比如说,有一个变量 len = str.length() - 1。我们将从 len - 1 开始 for 循环,而不是从索引 0 开始。字符 'd' 位于索引 len 处,并且 '_' 必须恰好在此之前插入。这可以通过将字符串设置为 str = str.substring(0,i) + "_"+ str.substring(i+1);

来完成

您将不得不使用一个 for 循环,它从 len - 1 开始,一直持续到到达的索引为 0

现在,在每次迭代中,当您插入一个字符时,将 str 分配给 str.substring(0,i) + "_"+ str.substring(i+1); 会导致您制作一个新的字符串对象,这绝对是可怕的风格。这可以通过使用 StringBuilder 来解决。

这样说清楚了吗?

以后,不要在没有做任何工作的情况下发布问题。该社区旨在帮助您解决解决方案中可能遇到的问题,而不是为您编写解决方案。

关于java - 如何在预制字符串的每个字符之间添加任何字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35323585/

相关文章:

java - 如何将Java代码转换为C#代码?

java - bouncycaSTLe 错误 "JCE cannot authenticate the provider BC"与 "jar-with-dependencies"

java - 字符串的单词反转

algorithm - 回溯中是否有 do -> recurse -> undo 模式的名称?

python - 在字典中查找整数最近邻

java - 将事件添加到日历时设置事件的颜色

java - 这两种字符串格式有什么区别?

php - Slim 3 将特定的正则表达式配置到路由中

java - 查找字符串中的子字符串(HTML、Android)

algorithm - 查找颜色相似的图像