Ola pessoal blza?
Sou novo no Java e sem bem pouca coisa, e meu professor passou um exercicio que nao consigo fazer a solução que ele quer.
Poderiam me ajudar?
Segue o pedido dele.
Consiste em desenvolver um algoritmo utilizando a técnica de PILHA, que peça ao usuário que informe uma expressão no seguinte formato: [ (A + B) * ( ( C / D) + X ) ]
Apenas os seguintes caracteres devem ser armazenados em uma pilha:(, [ e {
O algoritmo deve validar se a expressão é valida ou não, ou seja, a quantidade de “(” abertas deve ser a mesma de ")? fechadas.
O algoritmo deve validar também se o símbolo de fechamento é correspondente ao símbolo de abertura, ou seja, se o símbolo de fechamento for ] , na pilha tem que estar no topo neste momento o símbolo [. Se isso não ocorrer, deve retornar expressão inválida.
Ao final do processamento da expressão, deve ser exibida a mensagem “Expressão válida” se a pilha estiver vazia e toda a expressão tiver sido processada ou “Expressão Inválida” se o símbolo de fechamento for diferente do que está na pilha.
**** REGRAS GERAIS / ESCOPO ****
- O MENU DEVE APRESENTAR 2 OPÇÕES APENAS:
-
- INFORMAR EXPRESSÃO
-
- VALIDAR EXPRESSÃO
-
- A EXPRESSÃO DEVE SER INFORMADA PELO USUÁRIO, NÃO DEVE SER FIXADA EM CÓDIGO.
- O USUÁRIO DEVE DIGITAR TODA A EXPRESSÃO DE UMA ÚNICA VEZ.
- NÃO É PERMITIDO O USO DE IMPORTS DO JAVA. APENAS O java.util.Scanner É PERMITIDO.