Geração TEC - Lages - Maio/2013
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Exercício 3.16.3

Ir para baixo

Exercício 3.16.3 Empty Exercício 3.16.3

Mensagem por Admin Seg maio 13, 2013 2:17 pm

Solução simples
Código:

import java.util.Scanner;


public class AniversariosPorMes {
   //DESAFIO: Faça um programa que pergunte quantas
   //pessoas existem em uma turma. Depois, o
   //programa deve perguntar o mês de aniversário
   //de cada pessoa. Ao final, o programa deve
   //dizer quantas pessoas fazem aniversário em cada mês
   
   public static Scanner scanner = new Scanner(System.in);
   
   public static void main(String[] args) {
      int [] aniversariosPorMes = new int [13];
      //a posicao 0 não será usada neste programa
      //vamos precisar das posições 1 a 12
      
      for (int i=1; i<=12; i++) {
         aniversariosPorMes[i] = 0;
      }
      //este for não é necessário, pois um array
      //sempre inicializa todos os valores com 0
      //ao contrario de uma variavel que fica com
      //valor indefinido
      
      
      System.out.println("Digite a quantidade de pessoas");
      int qtdPessoas = scanner.nextInt();
      
      for (int i=0; i<qtdPessoas; i++) {
         System.out.println("Digite o mês de aniversário (numero)");
         int mes = scanner.nextInt();
         
         aniversariosPorMes[mes]++;
         //aumenta a quantidade de pessoas que fez
         //aniversario naquele mes
      }
      
      System.out.println("Aniversários por mês: ");
      for (int i=1; i<=12; i++) {
         System.out.println("No mês " + i + " há " + aniversariosPorMes[i] +
               " pessoa(s) fazendo aniversario");
      }      
   }
}

Solução mais completa:
Código:

import java.util.Scanner;

public class AniversariosPorMes2 {
   //DESAFIO: Faça um programa que pergunte quantas
   //pessoas existem em uma turma. Depois, o
   //programa deve perguntar o mês de aniversário
   //de cada pessoa. Ao final, o programa deve
   //dizer quantas pessoas fazem aniversário em cada mês
   
   public static Scanner scanner = new Scanner(System.in);
   
   public static void main(String[] args) {
      int [] aniversariosPorMes = new int [12];
      String [] nomeMes = new String[12];
      nomeMes[0] = "janeiro";
      nomeMes[1] = "fevereiro";
      nomeMes[2] = "março";
      nomeMes[3] = "abril";
      nomeMes[4] = "maio";
      nomeMes[5] = "junho";
      nomeMes[6] = "julho";
      nomeMes[7] = "agosto";
      nomeMes[8] = "setembro";
      nomeMes[9] = "outubro";
      nomeMes[10] = "novembro";
      nomeMes[11] = "dezembro";
      
      System.out.println("Digite a quantidade de pessoas");
      int qtdPessoas = scanner.nextInt();
      
      for (int i=0; i<qtdPessoas; i++) {
         System.out.println("Digite o mês de aniversário (numero)");
         int mes = scanner.nextInt();
         
         aniversariosPorMes[mes-1]++; //-1 ajusta pra posicao correta
         //aumenta a quantidade de pessoas que fez
         //aniversario naquele mes
      }
      
      System.out.println("Aniversários por mês: ");
      for (int i=0; i<=11; i++) {
         System.out.println("Em " + nomeMes[i] + " há " + aniversariosPorMes[i] +
               " pessoa(s) fazendo aniversario");
      }      
   }
}

Admin
Admin

Mensagens : 82
Data de inscrição : 06/05/2013

https://geracaoteclages.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos