Problema de lógica

11 respostas
edymrex

Bem estou com um grande problema estou fazendo uma calculadora em Java, mas me deparei com a seguinte situação, a calculadora tem que usar a estrutura pilha como vocês sabem essa estrutura e LIFO último a entra e o primeiro a sair à única a situação que não estou conseguindo fazer é o seguinte:
O usuário digita no botão 123 bem na minha calculadora pega o número assim.
Fiz um vetor que pega cada algarismo do número se for 123 vai fica vet[1][2[3]
Ai em vez de empilhar 123 que o usuário o programa pega cada algarismo e empilha
Como eu faço pra pegar os valores de um vetor e passar para um número...?

Tipo
       0 1 2 >índices
vet [1][2][3]     transforma o que tem dentro do vetor em número

Ficar como num=123..?? tem jeito galera??

11 Respostas

fiaux

Qual o tipo de vet? Se você quer concatenar o 1 2 e 3, a não ser que alguem venha com outra ideia (so pensei nessa agora), usa String. Depois voce transforma para Integer e faz o que tiver que fazer.

edymrex

ESSA CONCATENAÇÃO COMO SÉRIA…?

bzanchet

Ai ai ai… transformar em string e depois em integer?! Mas que baita gambiarra!

Que tal 110^2 + 210^1 + 3*10^0 ?

edymrex

K ISSO CARA EU NÃO ENTENDI…

L

Faz a conta que o cara te passou na mão que você vai entender:

110^2 + 210^1 + 3*10^0

O ^ significa que é pra vc elevar o número!

1100 + 210 * 3*1 = 123 :smiley:

edymrex

entedi cara valew

edymrex

Tem mais um problema esse algoritimo naum serve se o usuário dígitar 107 por exemplo ai como faz…?

L

Pq não funciona? Sor se for uma regra de negócio sua não poder funcionar?

O Algoritmo funciona sim:

(1 * 100) + (0 * 10) + (7 * 1) = 107

edymrex

na minha estrutura já tentei de todo jeito mas naum deu cara vo deixar a parte do codígo pra vc analisar

por exemplo o usuário dígita  103
vet[0]=1 vet[1]=0vet[2]=3
soma+=(vet[0]*Math.pow(10,2)+(vet[1]*Math.pow(10,1))+((vet[2]*Math.pow(10,0))));

fica 13
L

Cara, vc tem certeza disso?!?!?

Eu compilei o seu código na minha máquina e aqui ficou 103!

Se tiver algum problema com certeza não é na expressão! Pode ser que vc esteja montando o vetor errado então!

edymrex

Cara foi burrice minha aqui, mas muito obrigado pela sua atenção me ajudou bastante…!

Criado 24 de setembro de 2006
Ultima resposta 24 de set. de 2006
Respostas 11
Participantes 4