Ajuda com do while  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
mazoni
Thread.start()

Membro desde: 03/01/2008 13:30:48
Mensagens: 26
Offline

Pessoal, estou começando a aprender Java, estou seguindo a apostila 11 da caelum, muito boa por sinal nem acredito que estou entendendo com um pouco de facilidade, mas estou na dúvida como eu posso fazer um loop que me mostre os números pares no intervalo de 0 a 50?




Onde eu coloco o if para que me mostre apenas numeros pares? Eu consigo fazer o loop usando o for, mas como ficaria usando o do while? Outra dúvida aproveitando o tópico quando se deve usar o while e quando deve usar o do while? Ou não tem diferença alguma em que momento usar?
Roger75
GUJ Master
[Avatar]

Membro desde: 26/10/2003 12:18:59
Mensagens: 1294
Offline

Para mostrar os pares use o operador mod (%), para saber o resto da divisão por 2.
O "do while" você usa quando quer que execute pelo menos uma vez, e o "while" pode ser que nem execute.
guialeixo
Virtual Machine Man

Membro desde: 09/09/2009 11:00:50
Mensagens: 668
Offline

vc faz o if dentro da estrutura do loop te aconselho usar % 2 pra ver quem é par e quem é impar, sim loop com o for vc vai fazer tipo assim



do while se nao me engano o sentido de <= ta certo, sobre o momento de usar sim tem diferenças grandes quanto a utilização, com o do while vc tem mais controle a quantidade de loops isso a meu ver eh claro,se eu fosse vc usaria mais for, que pra mim é bem melhor

"O importante da vida não são as respostas sim as perguntas"

Qual lingua você pensa?

Qual lingua um surdo pensa?

Qual lingua um cego e surdo pensa?
dxos
JavaChild
[Avatar]

Membro desde: 16/09/2009 08:53:48
Mensagens: 102
Localização: Volta Redonda - RJ
Offline



ABS ..

Douglas Ribeiro
http://douglaspribeiro.wordpress.com
[...]
[WWW] [MSN]
aluisiodsv
JavaEvangelist
[Avatar]

Membro desde: 01/07/2010 17:28:24
Mensagens: 368
Offline

Quando se tem a noção de quantos loops vc vai dar o certo é usar o for.

Por exemplo: em uma lista vc tem o método size q retorna a quantidade de vezes q vc vai percorrer.

Quando não se tem a quantidade de vezes a fazer um loop, se usa o while. Como por exemplo um método hasNext() q não te trás a quantidade, mas sim se ainda existe um próximo.

A diferença entre o "while" e o "do while", assim como o amigo em cima disse, é q o "do while" percorre pelo menos uma vez antes de fazer o teste para percorrer de novo. Já o "while" primeiro faz o teste, se for falso ele nem executa o código dentro dele.
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Aff... sério mesmo que vocês pensaram em usar o mod?

Não é mais fácil somar de 2 em 2?


Aliás, não só é mais fácil, como o código roda com o dobro da eficiência...

This message was edited 1 time. Last update was at 12/08/2010 19:08:44


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
rcarauta
Thread.start()
[Avatar]

Membro desde: 06/04/2009 11:55:13
Mensagens: 37
Localização: Brasilia
Offline

Outra maneira de fazer isso sem usar o if é só substituir o comando contador++ por contador+=2 ai em vez de ele somar um por um ele vai somar de 2 em 2 ou seja vai apenas mostrar os números pares entre 0 e 50
[Email] [MSN]
aluisiodsv
JavaEvangelist
[Avatar]

Membro desde: 01/07/2010 17:28:24
Mensagens: 368
Offline

O cara está apenas começando.
Isso é apenas lógica de programação.
Mais pra frente nos estudos, isto será uma lista, em q o if será diferente.

Então é bom deixar pensar para aprender...
adriano_si
JWizard
[Avatar]

Membro desde: 01/10/2006 15:29:40
Mensagens: 2047
Offline

Ou so pensaram no MOD como eu tbm pensei... afinal, pensei que ele realmente iria querer percorrer a lista toda, do tipo X eh PAR, Y eh IMPAR...

So que eu viajei, afinal no enunciado ele nao pede isso mesmo...

Pensei no Mod de cara... hehehehehe

Quanto ao uso do For... creio que ele esta usando Do While porque deve ser algum exercicio com a estrutura e nao por achar que eh melhor...

Abs []

"É preciso ter mais fé pra acreditar que viemos do nada..."

Blog - http://aohana.wordpress.com/

Padrão de nomenclatura Java - http://www.oracle.com/technetwork/java/codeconventions-139411.html#16712

Doc. Java - http://www.oracle.com/technetwork/java/javase/documentation/index.html

Faça perguntas Inteligentes - http://istf.com.br/perguntas

Sobrevivência no GUJ:
(Regras) http://www.guj.com.br/java/21516-regras-do-forum

(Boa prática) http://www.guj.com.br/java/15477-antes-de-voce-perguntar

(Código fonte) http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
guialeixo
Virtual Machine Man

Membro desde: 09/09/2009 11:00:50
Mensagens: 668
Offline

eu acho que a questao do contador ir de 2 em 2 muito mais simples mas e quanto a logica necessaria pra colocar mod?? aprender isso eu acho meio desnecessario mas da pra fazer varias logicas utilizando o mod

"O importante da vida não são as respostas sim as perguntas"

Qual lingua você pensa?

Qual lingua um surdo pensa?

Qual lingua um cego e surdo pensa?
mazoni
Thread.start()

Membro desde: 03/01/2008 13:30:48
Mensagens: 26
Offline

Pessoal muito obrigado pelas explicações. E sim, eu estou aprendendo e estou tentando resolver alguns códigos básicos pela net e na apostila da caelum. Colocar a variável contador+=2 é interessante eu nao tinha pensado em contar de 2 em 2 hehe.


Muito obrigado pessoal agora eu entendi a diferença de while para do while!!!
Barbini
Smalltalk

Membro desde: 08/12/2011 08:25:01
Mensagens: 2
Offline

Também estou começando por aqui e pela Caelum. Só gostaria de dar meu 1º post aqui, e agradecer a todos do GUJ ! conto com voces e espero um dia ajudar o proximo qd ter mais experiencia.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team