2014-11-19 6 views
0

두 개의 문자열 A와 B가 있고 A는 "ABCDE"이고 B는 "12345"의 값이고 문자열 C를 만드는 for 루프는 "A1B2C3D4E5"의 값을 갖습니다.Java for 루프 prob

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); 

을하지만 아무것도 출력합니다 없습니다 : 문제가 A와 B의 값이 다를 수 있습니다 A와 B가 동일하거나 하나 개의 문자 B보다 더 큰 수 있다는 것입니다 만 이러한 두 가지 옵션이 가능합니다.

+0

숙제? 디버거를 아십니까? – 1ac0

답변

3

그냥이

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

귀하의 문제처럼하려고하는 것은, "== 길이를 계산"for 루프에서 조건부입니다. 이것은 for 루프가 count가 length와 같을 때 실행된다는 것을 의미합니다. 즉, 길이가 0 (count의 초기 조건)이 아니면 실행되지 않습니다.

당신은 쓸 수 :

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); 
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 인 문자열뿐만 아니라 길이가 다른 두 문자열에서이 연결 방법을 사용할 수 있습니다.