package br.cesupa.exercicios.vivi; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; public class MesesDiaSemana { public enum Mes { Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez}; public enum DiasSemana { Seg, Ter, Qua, Qui, Sex, Sab, Dom }; /** * @param args */ public static void main(String[] args) { ArrayList> combinacoes = new ArrayList>(); for (int i = 0; i < 12; i++) combinacoes.add(new LinkedList(Arrays.asList(DiasSemana.values()))); boolean termino = false; while (! termino) { String[] txtValores = new String[combinacoes.size()]; int i = 0; for (Mes mes : Mes.values()) txtValores[i++] = mes + "->" + combinacoes.get(mes.ordinal()).peek(); String valores = Arrays.toString(txtValores); System.out.println(valores); for (int j = 0; j < 12; j++) { LinkedList combinacao = combinacoes.get(j); if (null == combinacao.peek()) { if (11 == j) { termino = true; break; } combinacoes.set(j, new LinkedList(Arrays.asList(DiasSemana.values()))); } else { combinacao.poll(); break; } } } } }