我需要创建一个程序,通过某种循环(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循环,有没有更简单的方法来实现这个目标?
谢谢!
答案 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);
}
}
}
}