Duvidas com relação as datas2

1 resposta
A

parecida com a anterior

a letra C não estou conseguindo fazer, alguém poderia me ajudar???

Use um laço for para mostrar datas.
a) Usando um laço for, estenda seu programa de forma que ele imprima todas
as datas entre a que você especificou até o final daquele mês. Para 27/1/2000
a saída deve ser
27/1/2000
28/1/2000
29/1/2000
30/1/2000
31/1/2000
b) Teste o programa para verificar se ele está funcionando corretamente com
várias datas diferentes.
c) Agora o modifique para que ele imprima no máximo 10 datas. Por exemplo,
se a data for 19/1/2000 o programa deve imprimir apenas as datas 19/1/2000
até 28/1/2000. Já se a data for 30/1/2000, deverá ser impresso apenas
30/1/2000 e 31/1/2000.
d) Compile seu programa, corrija os erros se ocorrer algum, e teste com várias
datas para ter certeza que está funcionando corretamente.

import java.util.Scanner;
public class Dias2
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        int dia, mes, ano, cont = 0;
        System.out.println("Entre com um dia do semana : ");
        dia = sc.nextInt();
        System.out.println("Entre com o número referente ao mês :");
        mes = sc.nextInt();
        System.out.println("Digite o ano desejado :");
        ano = sc.nextInt();
       
        System.out.printf("\n");
       
        switch(mes)
        {
            case 1:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n31 dias no mês de Janeiro");    
                   break;
            case 2:for(int i=dia;i<=28;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n28 dias no mês de Fevereiro");    
                   break;
            case 3:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n31 dias no mês de Março");    
                   break;
            case 4:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n30 dias no mês de Abril");    
                   break;
            case 5:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n31 dias no mês de Maio");    
                   break;
            case 6:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n30 dias no mês de Junho");    
                   break;
            case 7:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n31 dias no mês de Julho");    
                   break;
            case 8:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n31 dias no mês de Agosto");    
                   break;
            case 9:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n30 dias no mês de Setembro");    
                   break;
            case 10:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n31 dias no mês de Outubro");    
                   break;
            case 11:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n30 dias no mês de Novembro");    
                   break;
            case 12:for(int i=dia;i<=31;i++)
                       System.out.println(i+"/"+mes+"/"+ano);
                   System.out.println("\n31 dias no mês de Dezembro");    
                   break;
            default:System.out.println("Mes inexistente!!!");
                    break;
        }
    }
}

1 Resposta

ViniGodoy
  1. Veja as sugestões para o exercício anterior, vai eliminar diversos dos seus for;
  2. Crie uma nova variável, chamada diasImpressos antes do for.
  3. Para dia que vc imprimir, some 1 nessa variável;
  4. Se o valor dela chegar a 10, saia do for com o comando break.

Outra opção é fazer um for esquisito como:

for(int i=dia, j=0;i<=31 && j < 10;i++, j++)

Mas esse tipo de construção, embora possível, é pouco usada em java.

Criado 25 de julho de 2008
Ultima resposta 25 de jul. de 2008
Respostas 1
Participantes 2