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.