1.11.1

O problema dos parênteses balanceados

O problema dos parênteses balanceados consiste em verificar se símbolos de abertura e fechamento — como { e }, ( e ), ou [ e ] — estão corretamente pareados e aninhados em um trecho de código. Em Java, esse balanceamento é essencial, pois define blocos de código válidos e permite que o compilador compreenda corretamente a estrutura do programa.

Exemplo conceitual

public class Example {

    public void execute() {
        if (true) {
            System.out.println("Hello");
        }
    }
}

Explicação linha a linha

public class Example {

Abre um bloco de código da classe. Cada chave de abertura exige uma chave de fechamento correspondente.

public void execute() {

Abre o bloco do método execute. Esse bloco deve ser fechado antes do fechamento da classe.

if (true) {

Abre um novo bloco associado à estrutura de controle if.

System.out.println("Hello");

Linha de código executável dentro do bloco do if.

}

Fecha o bloco do if. Esse fechamento corresponde diretamente à última chave de abertura ainda não fechada.

}

Fecha o bloco do método execute.

}

Fecha o bloco da classe.

O código acima é válido porque cada chave de abertura possui uma chave de fechamento correspondente, na ordem correta. Se uma chave for esquecida ou fechada fora de ordem, o compilador não consegue determinar onde um bloco termina, resultando em erro de compilação. Esse é o princípio fundamental do problema dos parênteses balanceados.