[Resolvido] Do While como e quando usar + duvida  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
iGustavo
What is classpath?

Membro desde: 23/01/2012 20:15:49
Mensagens: 9
Offline

Opa tudo bom, eu aqui denovo trazendo mais uma duvida, dessa vez minha duvida é sobre o Do While que é apresentado na Página 25 da apostila FJ-11 Caelum, enfim eu pesquisei e tal e pra entender resolvi fazer um programa que esta dando erro:

Não achei onde pode estar errado.




É bem outra coisa é pq e quando usar do while, ao invez do for e do while.


Obrigado!
Att. Gustavo

This message was edited 1 time. Last update was at 05/02/2012 08:18:25

davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

for: a quantidade de iterações é conhecida, seja porque você definiu ou porque o tamanho de um array por exemplo é fixo, etc.
while e do while: a quantidade de iterações é indefinida. O algoritmo pode rodar 1 ou 1 zilhão de vezes.

No while, a condição que testa a continuidade da iteração, ou seja, se o bloco do while vai rodar de novo, é executada antes do bloco. Sendo assim, se acondição for falta antes de entrar no bloco, ele não será executado nenhuma vez.
No do while, a condição que testa a continuidade da iteração é testada depois da primeira iteração, ou seja, o do while garante pelo menos uma iteração no bloco associado.

Um mesmo algoritmo pode ser escrito usando for, while ou do while, bastando fazer algumas alterações.
Com o tempo você conseguirá escolher facilmente qual estrutura de repetição usar.

[]'s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
iGustavo
What is classpath?

Membro desde: 23/01/2012 20:15:49
Mensagens: 9
Offline

davidbuzatto wrote:for: a quantidade de iterações é conhecida, seja porque você definiu ou porque o tamanho de um array por exemplo é fixo, etc.
while e do while: a quantidade de iterações é indefinida. O algoritmo pode rodar 1 ou 1 zilhão de vezes.

No while, a condição que testa a continuidade da iteração, ou seja, se o bloco do while vai rodar de novo, é executada antes do bloco. Sendo assim, se acondição for falta antes de entrar no bloco, ele não será executado nenhuma vez.
No do while, a condição que testa a continuidade da iteração é testada depois da primeira iteração, ou seja, o do while garante pelo menos uma iteração no bloco associado.

Um mesmo algoritmo pode ser escrito usando for, while ou do while, bastando fazer algumas alterações.
Com o tempo você conseguirá escolher facilmente qual estrutura de repetição usar.

[]'s


Muito Obrigado consegui tirar minha duvida com sua resposta e corrigi meu programa!
JMARQ
JavaBaby

Membro desde: 26/02/2010 11:51:30
Mensagens: 85
Offline

Estou de acordo com o nosso colega davidbuzatto, muito bem colocado.

Em relação ao seu código, veja que você colocou 'System.out.println();' e o contador 'num' fora do escopo do 'do{ ... }while();' e ainda abriu outra chave sem necessidade.
Verifique e teste novamente.

Até mais.

Aprender, Desaprender e Reaprender. Simples, mas extremamente preciso. (Sílvio Meira)
Twitter: @jrMarquesBSI
luxu
GUJ Ranger
[Avatar]

Membro desde: 28/10/2008 18:23:12
Mensagens: 881
Localização: Presidente Prudente/SP
Offline

melhor seria estudar os fundamentos basicos do java, opiniao



zicadopv.wordpress.com
[WWW]
Enadrov
Thread.start()

Membro desde: 20/07/2011 16:02:24
Mensagens: 34
Offline



Com o voce testa a condição no fim da execução ou seja, sempre vai executar esse bloco pelo menos 1 vez o testa a condição no inicio, ou seja, pode não executar o bloco nenhuma vez, se a condição for falsa e o com o for você determina o inicio e o fim;
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team