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

Tutorial Básico de Java

Java Controle de Fluxo

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Fila (Queue)

Java Conjunto Map

Java Conjunto Set

Java Entrada Saída (I/O)

Java Reader/Writer

Temas Java outros

Programa Java usando recursão para inverter frase

大全 de Exemplos Java

Neste programa, você aprenderá a usar loops recursivos em Java para inverter a frase fornecida.

Exemplo: usar recursão para inverter frase

public class Reverse {
    public static void main(String[] args) {
        String sentence = "Go work";
        String reversed = reverse(sentence);
        System.out.println("A frase invertida é: ", + reversed);
    }
    public static String reverse(String sentence)
    {
        if (sentence.isEmpty())
            return sentence;
        return reverse(sentence.substring(1)) + sentence.charAt(0);
    }
}

Quando executamos o programa, a saída é:

A frase invertida é: krow oG

No programa acima, temos uma função recursiva reverse().

Em cada iteração, usamos charAt(0) para adicionar (conectar) o resultado do reverse() ao primeiro caractere da frase.

A chamada recursiva deve ser feita antes de charAt(), pois assim o último caractere começará a ser adicionado ao lado esquerdo. Se você inverter a ordem, você obterá a frase original.

Por fim, encerramos com uma frase vazia, o reverse() retorna a frase invertida.

Passos de execução
Iteraçãoreverse()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"

大全 de Exemplos Java