English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 가이드

Java 흐름 제어

Java 배열

Java 동기 객체(I)

Java 동기 객체(II)

Java 동기 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램이 재귀를 사용하여 문장을 반전

Java 예제 모든 것

이 프로그램에서는 Java에서 재귀를 사용하여 주어진 문장을 반전하는 방법을 배웁니다.

예제: 재귀를 사용하여 문장을 반전

public class Reverse {
    public static void main(String[] args) {
        String sentence = "Go work";
        String reversed = reverse(sentence);
        System.out.println("뒤집힌 문장은: ", + reversed);
    }
    public static String reverse(String sentence)
    {
        if (sentence.isEmpty())
            return sentence;
        return reverse(sentence.substring(1)) + sentence.charAt(0);
    }
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

뒤집힌 문장은: krow oG입니다.

위 프로그램에서는 reverse() 재귀 함수가 있습니다.

각 반복마다 charAt(0)를 사용하여 다음 reverse() 함수의 결과를 문장의 첫 번째 문자에 추가(연결)합니다.

재귀 호출은 charAt()보다 먼저 수행해야 합니다. 왜냐하면 이렇게 하면 마지막 문자가 왼쪽에 추가될 것입니다. 반대로 순서를 뒤집으면 원래 문장을 얻게 됩니다.

마지막으로, 빈 문장으로 끝내면 reverse()는 반대 방향의 문장을 반환합니다.

수행 단계
Iterationreverse()substring()reversedString
1reverse("Go work")"o Work"result + "G"
2reverse("o Work")" Work"result + "o" + "G"
3reverse(" Work")"Work"result + " " + "o" + "G"
4reverse("Work")"ork"result + "W" + " " + "o" + "G"
5reverse("ork")"rk"result + "o" + "W" + " " + "o" + "G"
6reverse("rk")"k"result + "r" + "o" + "W" + " " + "o" + "G"
7reverse("k")""result + "k" + "r" + "o" + "W" + " " + "o" + "G"
Finalreverse("")-"" + "k" + "r" + "o" + "W" + " " + "o" + "G" = "kroW oG"

Java 예제 모든 것