Java使用循环动态创建字符串

时间:2015-10-27 18:59:58

标签: java string loops

我需要创建一个程序,通过某种循环(for / while)动态创建字符串。它将以ASCII值为1,而不是2,等等的单字符串开始,直到达到128.一旦达到128,它将是一个双字符串,第一个字符ASCII值为1,第二个字符为1.然后是1; 1,1; 2,1; 3,直到第二个数字达到128,然后第一个字符的值为2。这在逻辑上是如何实现的?

这是我到目前为止所尝试的内容:

for (int i = 0; i < 128; i++) {
        str = ((char) i) + "";
        for (int j = 0; j < 128; j++) {
            str += ((char) j) + "";
            //workWithString(str);
            System.out.println(str);
            str = str.substring(0, str.length() - 1);
        }
    }

这可行,但仅适用于2位数。我想它最多可以使用32位数。如果没有32个for循环,有没有更简单的方法来实现这个目标?

谢谢!

2 个答案:

答案 0 :(得分:-1)

对不起,伙计们。我自己搞清楚了。对于那些对答案感兴趣的人,我是这样实现的:

public static void addCharacter(String str, int depth) {
    for (int j = 33; j < 127; j++) {
        for (int i = 0; i < depth; i++) {
            str += ((char) j) + "";
            System.out.println(str);
            addCharacter(str, depth - 1);
            str = str.substring(0, str.length() - 1);
        }
    }
}

其中depth是您希望计算的数字位数,而str是您要添加字符的字符串。

答案 1 :(得分:-2)

public class  StringCreator {

    public static void main(String[] args) {
        for(int i=0;i<=128;i++){
            for(j=0;j<10;j++){

                System.out.println(i+"."+j);
            }
        }
    }
}