안녕하세요, 아래의 재귀 메서드를 이해하려고 노력하고 있지만 너무 혼란스러워 보입니다. 나는 reversePrint 메서드 자체 호출하지만 내 문제는, 그것을 처음 실행해야합니다 bcdef + a = bcdef 인쇄해야합니다. 여기 내가 혼란 스러울 때, 다음에 실행될 때 b가 charAt (0)가됩니다. 그래서 어디에? 그들은 어딘가에서 일시적으로 저장 되나요? 누군가 이해를 도울 수 있습니까? 많은 감사Java 재귀 역방향 문자열
의 예를 통해public static void main(String[] args) {
// TODO code application logic here
System.out.println(reversePrint("abcdef"));
}
public static String reversePrint(String s) {
if (s.length() <= 1) {
return s;
}
return reversePrint(s.substring(1)) + s.charAt(0);
}
가능한 복제본 [재귀 적으로 Java에서 문자열을 역순으로 변환하는 가장 좋은 방법은 무엇입니까?] (http://stackoverflow.com/questions/859562/whats-the-best-way-to-recursively-reverse-a-string -in-java) –
신고자에게 문의하십시오. 그것은 모든 것을 알려줍니다. – PKlumpp
디버그 모드에서 단계별로 실행하십시오. 그것은 설명이 될 것입니다. –