ola pessoal queria saber como fazer um calendario mostrando dia mes e ano usando while
obs: todos os meses podem ter 30 dias
olha o codigo que eu estava tentando:
class lacoAninhado{
public static void main(String[] args){
int dia = 0;
int mes = 0;
int ano = 2012;
while(ano <= 2014){
while(mes <= 12){
while(dia <= 30){
System.out.println(dia);System.out.println(mes);System.out.println(ano);
dia++;
}mes++;
}ano++;
}
}
}
Quase certo. Só que você não pode inicializar as variáveis uma vez só.
public class LacoAninhado{
public static void main(String[] args){
int ano = 2012;
while(ano <= 2014){
int mes = 0;
while(mes <= 12){
int dia = 0;
while(dia <= 30){
System.out.println(dia);System.out.println(mes);System.out.println(ano);
dia++;
}
mes++;
}
ano++;
}
}
}
Melhor ainda seria usar 3 fors.
ViniGodoy
PS: Sim, meu código ainda reteve outros bugs da sua implementação. Mas estou deixando para você resolver por conta própria.
FabinhoGil
entao ViniGodoy
este codogo fez o mesmo efeito do meu
so deu o loop no ano mas o mes e o dia nao continuou repetindo!!!
se pudesse me ajudar???
estou tentando fazer um exercicio da apostila caelum
depois de fazer os lacos eu vou dar nomes a eles
com labeled loops
FabinhoGil
meio fora do assunto:
de uma olhada nesse link para ver se vc concorda com o que eu postei:
ps:vc tambem postou neste enquete
ViniGodoy
Funcionou perfeitamente aqui. Você tem certeza que rodou ou leu a saída direito?
ViniGodoy
Veja como fica melhor com for:
public class LacoAninhado {
public static void main(String[] args) {
for (int ano = 2012; ano <= 2014; ano++) {
for (int mes = 1; mes <= 12; mes++) {
for (int dia = 1; dia <= 30; dia++) {
System.out.printf("%d/%d/%d%n", dia, mes, ano);
}
}
}
}
}
FabinhoGil
muito obrigado
com o for funcionou o mes e o dia;
mas o ano continua somando somente o numero final.
muito grato pela ajuda
ViniGodoy
Fabinho, acho que é porque os demais anos estão passando muito rápido, e você não está conseguindo ver eles.
Mas eles estão lá.
FabinhoGil
e vdd acho que é por que eu uso o cmd para executalo
e o cmd so mostra uma quantidade da execuçao;
aqui so da pra ver do dia 3/3/2014 pra frente/
mas nao faz sentido o resto nao ter executado mesmo
ps: so o for funcionou o while não!!
n1ls0n
ViniGodoy:
Quase certo. Só que você não pode inicializar as variáveis uma vez só.
public class LacoAninhado{
public static void main(String[] args){
int ano = 2012;
while(ano <= 2014){
int mes = 0;
while(mes <= 12){
int dia = 0;
while(dia <= 30){
System.out.println(dia);System.out.println(mes);System.out.println(ano);
dia++;
}
mes++;
}
ano++;
}
}
}
Melhor ainda seria usar 3 fors.
Com esse código funcionou perfeitamente aqui.
FabinhoGil
testando agora funcionou
o que eu estava fazendo de errado???
me desculpem pessoal!!!
nao sei o que aconteceu!
mas a ajuda foi muito bem vinda
inclusive com o codigo do FOR