Ed
ano passado
Vamos analisar o código e o funcionamento da estrutura de dados pilha (stack). 1. Adicionando elementos: - `pilha.adicionar("A")` → A pilha agora contém: A - `pilha.adicionar("B")` → A pilha agora contém: A, B - `pilha.adicionar("C")` → A pilha agora contém: A, B, C 2. Removendo elementos: - `System.out.print(pilha.remover())` → Remove "C" (último a entrar, primeiro a sair - LIFO) - `System.out.print(pilha.remover())` → Remove "B" - `System.out.print(pilha.remover())` → Remove "A" - `System.out.print(pilha.remover())` → Aqui, a pilha está vazia, então essa chamada tentará remover um elemento de uma pilha vazia, resultando em uma exceção de underflow. Agora, vamos analisar as alternativas: a) O código lança uma exceção devido ao overflow. - Incorreta, pois não há overflow aqui. b) C B A - Incorreta, pois isso não considera a exceção. c) A B C - Incorreta, a ordem está errada. d) O código imprime C B A e lança exceção por causa do underflow. - Correta, pois imprime C, B, A e depois lança exceção. e) C A B - Incorreta, a ordem está errada. Portanto, a alternativa correta é: d) O código imprime C B A e lança exceção por causa do underflow.
Cadastre-se ou realize login
Ed
há 3 anos
A resposta correta é a alternativa d) O código imprime C B A e lança exceção por causa do underflow. Explicação: No código fornecido, uma pilha é criada usando a implementação de uma pilha encadeada. Em seguida, são adicionados os elementos "A", "B" e "C" na pilha. Quando o método "remover()" é chamado, ele remove e retorna o elemento do topo da pilha. Portanto, a primeira chamada de "pilha.remover()" irá retornar "C", a segunda chamada irá retornar "B" e a terceira chamada irá retornar "A". No entanto, quando a quarta chamada de "pilha.remover()" é feita, a pilha já está vazia, o que resulta em uma exceção de underflow, pois não há mais elementos para serem removidos.
Mais perguntas desse material