Exercício:
Crie um programa em Java que receba um inteiro, de 1 até 12, representando os meses do ano e retorne o número de dias do mês.
Use switch e não use break.
Use acúmulo de case.
Inicialmente, a variável 'dias' é declarada como tendo 31 dias.
Caso seja o mês 4, 6, 9 ou 11, é subtraído 1 da variável 'dias' e o programa informa que esses meses possuem 30 dias.
Caso seja o mês 2, é subtraído 2 de 'dias', ficando 28 dias para o mês de fevereiro.
Caso não seja nenhum desses meses, não cai no switch, então continua com 31 dias (que são os meses 1, 3, 5, 7, 8, 10 e 12).
Código:
import java.util.Scanner;
public class months {
public static void main(String[] args) {
int mes, dias=31;
Scanner entrada = new Scanner(System.in);
System.out.print("Digite o mês [1-12]: ");
mes = entrada.nextInt();
if(mes>12 || mes<1){
System.out.println("Mês inválido");
return;
}
switch( mes )
{
// fevereiro: subtraímos 2 dias aqui e 1 dia no próximo case
case 2:
dias -=2;
//meses que possuem 30 dias: só subtraímos 1 dia
case 4: case 6: case 9: case 11:
dias--;
}
System.out.printf("O mês %d possui %d dias", mes, dias);
}
}