diferenciar uma String (resolvido)  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Jadir
Debugger

Membro desde: 15/03/2011 22:47:25
Mensagens: 66
Offline

é o seguinte, eu quero que enquanto uma funçao aritmética for digitada errada (exemplo: a pessoa digita "a, k, &" ao invés de digita "+, -, *, /") ele retorne a pergunta!


seria a mesma coisa com variáveis do tipo inteira que usamo a != b; mas com strings, como faria?

This message was edited 2 times. Last update was at 21/06/2011 16:47:47

JhowTroMundo
JavaTeenager
[Avatar]

Membro desde: 15/09/2009 02:33:50
Mensagens: 165
Localização: São Paulo
Offline


The more men talk, the less they think.
[Email] [MSN]
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Oi!

Creio que há implementações mais "elegantes". Como você sabe a String que deseja obter, podes criar algo do tipo:



É uma idéia, elimina algumas condições e deixa o código mais "limpo", é o que eu acho.
Abraços.

This message was edited 1 time. Last update was at 17/06/2011 06:57:12


"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
RafaelCassau
JavaChild
[Avatar]

Membro desde: 28/04/2011 20:32:11
Mensagens: 142
Localização: Américo Brasiliense - SP
Offline

Bom dia Jadir eu implementei um exemplo também da uma olhada e ve oq acha ok



como nosso amigo disse existem outras opções mais elegantes de se resolver este problema, mais acho essa que postei bem simples, abraços...

Estudando OCJP 6.0 e ITIL v3

"Tudo posso naquele me fortalece"
[Email]
thiago.correa
GUJ Master
[Avatar]

Membro desde: 26/03/2006 18:54:30
Mensagens: 1861
Offline


Banco santander agência 6666 conta 696969-8


---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
[MSN]
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Então que tal modificar esse seu while?

Porque simplesmente não cria uma variavél boolean para controle, pois está fazendo a mesma comparação duas vezes, só uma com switch e a outra sem.
Não vejo nada de complicado na minha solução, ao contrário, é bem simples.

Mas vou modificar o que fez, para exemplificar o que quero dizer:



Por padrão, se supõe que o usuário digitou algo correto, portanto, ele só vai permanecer dentro do loop caso o usuário entre com um valor inválido, para tal, no default do switch, você simplesmente atribui um false a variavél booleana. Ela recebe true dentro dos cases corretos, pois o usuário pode digitar errado na primeira vez mas correto da segunda, nesse caso, poderia entrar em loop infinito se não fosse atribuido o true.

Abraços.

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

thiago.correa wrote:
Banco santander agência 6666 conta 696969-8




Haha! Eu ia falar em Regex, mas se falaram que um Set era complicado, preferi ficar calado.
Mas passar o número da conta foi ótimo! haha

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
RafaelCassau
JavaChild
[Avatar]

Membro desde: 28/04/2011 20:32:11
Mensagens: 142
Localização: Américo Brasiliense - SP
Offline

Boa tarde nel vlw pela dica nem tinha percebido, mais ainda bem q vc me esclareceu, é bom pois agora vou aplicar mais essa boa pratica, em relação a sua primeira solução ela realmente é simples, naum quiz dizer q é complicada, acho q me interpretei mal, mais e que talves partindo de um usuario que naum conhece Arraylist fika meio complicado entender, por isso que postei a minha solução, mais vlw por tudo brigadão, abraços...

Estudando OCJP 6.0 e ITIL v3

"Tudo posso naquele me fortalece"
[Email]
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

RafaelCassau wrote:Boa tarde nel vlw pela dica nem tinha percebido, mais ainda bem q vc me esclareceu, é bom pois agora vou aplicar mais essa boa pratica, em relação a sua primeira solução ela realmente é simples, naum quiz dizer q é complicada, acho q me interpretei mal, mais e que talves partindo de um usuario que naum conhece Arraylist fika meio complicado entender, por isso que postei a minha solução, mais vlw por tudo brigadão, abraços...


Que isso, talvez eu tenha entendido mal o que disse também
Isso, as vezes são pequenos detalhes que deixamos passar e talvez, mais para a frente, possam a vir nos causar dor de cabeça!


Abraços amigo!

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
Jadir
Debugger

Membro desde: 15/03/2011 22:47:25
Mensagens: 66
Offline

é que eu sou bem iniciante e mesmo assim ainda fiquei um pouco perdido com a explicação de vocês,
exemplo se eu quero fazer um contador rodas ate que tenha um finalizador como X como faria pra parar esse contator

exemplo
queria algo mais ou menos assim!


é mais ou menos que eu quero, se alguém tive disposição de me ensinar de outra maneira também, mas o que eu quero é entender
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Oi!

Recomendo que leia a apostila da Caelum FJ-11.
Ela dá uma boa noção sobre Orientação a Objetos com o Java, seria interessa uma leitura.

Para a sua pergunta, você deve usar um laço de repetição, como for, do-while, while e impor uma condição de parada.
No seu exemplo, enquanto o usuário digitar a letra M, ele vai continuar em loop, isso você compreende?

Abraços.

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
Jadir
Debugger

Membro desde: 15/03/2011 22:47:25
Mensagens: 66
Offline

sim sim, é que no momento ainda não estou me dedicando a OO, e sim to estudando lógica de programação!
eu só quero que o critério de parada do looping quando o usuário digita X acaba o looping! entendeu?
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Jadir wrote:sim sim, é que no momento ainda não estou me dedicando a OO, e sim to estudando lógica de programação!
eu só quero que o critério de parada do looping quando o usuário digita X acaba o looping! entendeu?


Entendi!!!
Se queres que a parada seja quando digita X podes alterar o seu while para:



Ou permanece como está e faz um break:



Não vejo lógica para a segunda opção, pois, não faria muito sentindo colocar algo como:


Concorda?
Abraços.

This message was edited 1 time. Last update was at 21/06/2011 16:05:52


"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
Jadir
Debugger

Membro desde: 15/03/2011 22:47:25
Mensagens: 66
Offline

eu coloco o if porque tem mais perguntas em baixo! dai se for diferente de X ele cai nas outras pergunta, se for X ele ja cai novamente no looping encerrando, sem cair nas perguntas entendeu?
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Jadir wrote:eu coloco o if porque tem mais perguntas em baixo! dai se for diferente de X ele cai nas outras pergunta, se for X ele ja cai novamente no looping encerrando, sem cair nas perguntas entendeu?


Jadir, quem deve entender é você e não eu, você omitiu código, sendo assim, não tem como eu adivinhar o que você quer
Se você entendeu o Loop, dê como resolvido seu tópico, caso contrário, abra um novo amigo para tratar só de laço de repetição.

Abraços.

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team