我有两个字符串,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);
但没有打印出来。
答案 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的字符串。