Java for loop prob

时间:2014-11-19 17:17:07

标签: java string for-loop

我有两个字符串,A和B,A的值为"ABCDE",B的值为"12345",我想制作一个使字符串C的for循环,值"A1B2C3D4E5",问题是A和B的值可能不同,A和B可以相等或A大于B只有一个字符,只有这两个选项是可能的:

if(A.length()>B.length()){
   B=B+"_";
}
int length=A.length()+B.length();
for(int count = 0; count == length;count++){
   C=C+A.charAt(count)+B.charAt(count);
}
System.out.println(C);

但没有打印出来。

3 个答案:

答案 0 :(得分:3)

试试这个

    for(int count = 0; count < length/2;count++){
       C=C+A.charAt(count)+B.charAt(count);
    }

答案 1 :(得分:0)

你的问题是for循环中的条件,&#34; count == length&#34;。只要count等于length,这就意味着for循环运行,即除非长度为0(计数的初始条件),否则它将不会运行。

你可以写:

if (A.length() > B.length()) B += "_";
for (int i = 0; i < A.length(); i++) C = C + A.charAt(i) + B.charAt(i);
System.out.println(C);

答案 2 :(得分:0)

int max = B.length()
if (A.length() > B.length()){
    max = A.length()
}
String C = "";
for (int i = 0; i < max; i++){
    if (i < A.length){
        C = C + A.charAt(i)
    }
    if (i < B.length){
        C = C + B.charAt(i);
    }
}

这将检查以获取迭代的最大长度,然后在for循环中,仅添加存在的字符,以每个字符串的交替模式添加,直到一个字符串为空,然后将其他字符串的其余部分附加到最后一个角色。这允许这种连接任意长度的两个字符串的方法,而不仅仅是长度相差1的字符串。