Else oscilante

5 respostas
edymrex

Em que caso ocorre o else oscilante ouvir falar desse assunto mas não compreendi alguém sabe…?

5 Respostas

T

“Dangling else” é um termo que se usa em teoria de compiladores.

Veja um exemplo disso na Wikipedia: "dangling else":

jvictorcf

Cara,
Explica melhor pra gente o que você quer dizer com “else oscilante”???

Fica mais fácil ajudar.

Um abraço

peczenyj

em Java vc pode ter ifs assim

if(condition) { ... } else { ...}

mas, o if/else pode suprimir as chaves { } caso tenha apenas uma instrução no bloco de código. assim ao inves de

if(condition) { x=1; } else { x=2; }

pode ter

if(condition) x=1 else x=2

entretanto se vc tiver algo como

if(condition1) if(condition2) x=1 else x=2

não é obvio a qual if o else pertence (deve pertencer ao segundo if, se não me engano). Isto é chamado de else oscilante, pois parece que ele oscila entre um if e outro.

edymrex

exemplo do livro da deitel

if(x>5)
  if(y>5)
    System.out.print("x and y >5");
  else
    System.out.print("x is <=5");

if(x>5) { if(y>5) System.out.print("x and y are >5"); } else System.out.print("x is <=5);

Mantu

O java sempre casa um else com o if imediatamente anterior encontrado no mesmo contexto (bloco de programação)

Criado 9 de janeiro de 2007
Ultima resposta 9 de jan. de 2007
Respostas 5
Participantes 5