fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.math.BigInteger;
  7. import java.time.DayOfWeek;
  8. import java.time.LocalDate;
  9. import java.time.format.TextStyle;
  10. import java.util.Arrays;
  11. import java.util.HashMap;
  12. import java.util.List;
  13. import java.util.Locale;
  14. import java.util.Map;
  15.  
  16.  
  17. /* Name of the class has to be "Main" only if the class is public. */
  18. class Ideone
  19. {
  20. public static void main (String[] args) throws java.lang.Exception
  21. {
  22. LocalDate hoje = LocalDate.now();
  23. LocalDate dataFutura = hoje.plusDays(14);
  24. LocalDate dataIteracao = hoje;
  25.  
  26. Boolean dataIteracaoMenorDataFutura = true;
  27.  
  28. List<DayOfWeek> listaDias = Arrays.asList(DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY);
  29. Map<DayOfWeek, BigInteger> mapaResultados = new HashMap<DayOfWeek, BigInteger>();
  30.  
  31. while(dataIteracaoMenorDataFutura) {
  32. for (DayOfWeek dayOfWeek : listaDias) {
  33. if(dataIteracao.getDayOfWeek().equals(dayOfWeek)) {
  34. if(mapaResultados.containsKey(dayOfWeek)) {
  35. mapaResultados.put(dayOfWeek, mapaResultados.get(dayOfWeek).add(BigInteger.ONE));
  36. } else {
  37. mapaResultados.put(dayOfWeek, BigInteger.ONE);
  38. }
  39. }
  40.  
  41. }
  42. dataIteracao = dataIteracao.plusDays(1);
  43. dataIteracaoMenorDataFutura = dataIteracao.isBefore(dataFutura);
  44. }
  45.  
  46. mapaResultados.forEach((key, value) -> System.out.println(key.getDisplayName(TextStyle.FULL, new Locale("pt", "BR"))+": "+value));
  47. }
  48. }
Success #stdin #stdout 0.22s 35976KB
stdin
Standard input is empty
stdout
Tuesday: 2
Monday: 2
Wednesday: 2