0

我是一名 Java 初学者,希望在编写代码方面得到帮助,该代码仅使用 main 方法逐步复制给定字符串中的每个字符。

例如,

输入字符串:你好(但代码应该适用于任何字符串)

输出:

HH HHee HHeell HHeellll HHeelllloo

因此,在每个字符被复制并添加到任何先前的复制之后,程序就会终止。这是否需要多个循环?

到目前为止,我有以下代码:

for (int i = 0; i < length ; i++) {
    char c = s.charAt(i);
    System.out.println(c);

    int j = 0;
    while (j < length) {
    j = j+1;
    i++;
    s = new StringBuffer(s).insert(i, c).toString();

    System.out.println(s);
}

}

我正在尝试嵌套循环,因为我认为这是要解决的问题,但我没有接近。我将不胜感激任何帮助或方向....

4

2 回答 2

1

-您正在重用变量 i。确保在每一步都检查它的值 - 并检查 substring() 方法的使用

于 2013-05-01T00:18:17.750 回答
0
public class StringHelper {
    public static String duplicate(String s, String prefix){
        if(s.equals("")) return "";
        char c=s.charAt(0);
        String ret=prefix+c+c;
        return ret+" "+duplicate(s.substring(1),ret);
    }
    public static void main(String []args){
        System.out.println(duplicate("Hello",""));
    }
}

直接的:

public static void main(String []args){
        String s="Hello"; //if you need to keep the original array, save it in temp and work with temp
        String prefix="";
        while(!s.equals("")){
            char c=s.charAt(0);
            prefix+=""+c+c;
            System.out.print(prefix+" ");
            s=s.substring(1);
        }
    }
于 2013-05-01T00:29:51.523 回答