나는 내 자신의 문자열 역방향 알고리즘을 작성하려고합니다. (자바에 이미 존재하지만, 나는 이것을 교육용으로하고 있습니다.) 아래 코드는 제가 지금까지 가지고있는 것입니다. 반전 된 문자열의 절반 만 출력합니다. 나는 약간의 디버깅을했기 때문에 그 이유가 변하고있다. stringChars2 stringChars와 같은 시간에과 같은 시간이 올랐지 만, 나는 그저 변경하려고하는 이유가 전혀 모른다. stringChars. 모든 도움이 크게 감사드립니다.자바 문자열 역방향 알고리즘
EDIT 내 질문은 "이전에 물어 보았던 문자열을 뒤집는 방법"이 아니었지만, 지시없이 변경 한 경우, 아래의 답변에서 문제를 완전히 설명하는 이유는 무엇입니까? 당신이 stringChars
과 같은 객체에 stringChars2
를 할당하는 두 번째 줄에
public static void main(String[] args) {
//declare variables
Scanner input = new Scanner(System.in);
String myString = "";
int length = 0, index = 0, index2 = 0;
//get input string
System.out.print("Enter the string you want to reverse: ");
myString = input.next();
//find length of string
length = myString.length()-1;
index2 = length;
//convert to array
char[] stringChars = myString.toCharArray();
char[] stringChars2 = stringChars;
//loop through and reverse order
while (index<length) {
stringChars[index] = stringChars2[index2];
index++;
index2--;
}
//convert back to string
String newString = new String(stringChars);
//output result
System.out.println(newString);
//close resources
input.close();
}
[자바에서 문자열을 역]의 사용 가능한 복제 (https://stackoverflow.com/questions/ 7569335/reverse-a-string-in-java) –
다음 진술을 어떻게 생각하십니까?'char [] stringChars2 = stringChars;'? –
[배열 자바 복사본 만들기] (// stackoverflow.com/q/5785745) – Tom