2012-12-20 1 views
-2

새 문자열을 기존 문자열의 시작 부분에 연결하려는 경우 (예 : ) 현재 문자열 = ""이고 새 문자열을 항상 연결하여 시작하려면 내 옛날 문자열 : 여기기존 문자열의 시작 부분에 새 문자열을 연결하십시오.

String msg="Java One",temp; 
for(int i=msg.length()-2;i>0;i--){ 

내가 루프가 종료 후 MSG의 끝에서 시작하기는 온도가해야 "자바 하나"가 포함되어 있지만, 완료 순서

e 
ne 
one 
a one 
va one 
} 

에서

답변

0

I 동안 내 옛날 문자열 시작으로 새 문자열을 연결하는 것이 원하는

이 매우 효율적 매우 간단하지만 아니다

:

String oldString = ""; 
for (...) { 
    // Prepare your new string 
    String newString = ... ; 
    // Add the new string at the beginning of the old string 
    oldString = newString + oldString; 
} 
0

String#substring(int,int)을 사용하여 각 반복에서 다른 부분 문자열을 가져올 수 있습니다.

for(int i=msg.length()-1;i>=0;i--){ 
    System.out.println(msg.substring(i,msg.length())); 
} 

물론 생성 된 각 하위 문자열을 저장할 수 있으며 원하는대로 할 수 있습니다.

String 개체가 만들어지기는하지만 모든 개체에 동일한 char[] 개체가 사용되기 때문에이 방법이 더 효율적일 수 있습니다.


는 또한 우리는 (문제의 원본 코드로, 그리고 -2) msg.length()-1에서 반복되고 있습니다 (원래의 질문과 같이하지 i > 0) i >= 0