Eu sei que terão combinações com repetição, mas preciso que ele imprima somente as combinações não repetidas. Com um array de 4 endereços eu consigo criar uma condição com if, mas preciso que o array de combinações tenha 20 endereços então o if fica muito grande e a ide fala que o algoritmo é muito complexo.
//ARRAY COM NUMEROS
int[] numeros = new int[]{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99
};
//ARRAY QUE GUARDARA AS 20 COMBINAÇÕES
int[] combinacao = new int[20];
//FAZ TODAS AS COMBINAÇÕES POSSÍVEIS
int indiceCombinacao = 0;
for (int numero : numeros) {
combinacao[0] = numero;
for (int numero1 : numeros) {
combinacao[1] = numero1;
for (int numero2 : numeros) {
combinacao[2] = numero2;
for (int numero3 : numeros) {
combinacao[3] = numero3;
for (int numero4 : numeros) {
combinacao[4] = numero4;
for (int numero5 : numeros) {
combinacao[5] = numero5;
for (int numero6 : numeros) {
combinacao[6] = numero6;
for (int numero7 : numeros) {
combinacao[7] = numero7;
for (int numero8 : numeros) {
combinacao[8] = numero8;
for (int numero9 : numeros) {
combinacao[9] = numero9;
for (int numero10 : numeros) {
combinacao[10] = numero10;
for (int numero11 : numeros) {
combinacao[11] = numero11;
for (int numero12 : numeros) {
combinacao[12] = numero12;
for (int numero13 : numeros) {
combinacao[13] = numero13;
for (int numero14 : numeros) {
combinacao[14] = numero14;
for (int numero15 : numeros) {
combinacao[15] = numero15;
for (int numero16 : numeros) {
combinacao[16] = numero16;
for (int numero17 : numeros) {
combinacao[17] = numero17;
for (int numero18 : numeros) {
combinacao[18] = numero18;
for (int numero19 : numeros) {
combinacao[19] = numero19;
// IMPRIME
indiceCombinacao++;
System.out.println("Combinação "
+ indiceCombinacao + ": "
+ combinacao[0] + " - "
+ combinacao[1] + " - "
+ combinacao[2] + " - "
+ combinacao[3] + " - "
+ combinacao[4] + " - "
+ combinacao[5] + " - "
+ combinacao[6] + " - "
+ combinacao[7] + " - "
+ combinacao[8] + " - "
+ combinacao[9] + " - "
+ combinacao[10] + " - "
+ combinacao[11] + " - "
+ combinacao[12] + " - "
+ combinacao[13] + " - "
+ combinacao[14] + " - "
+ combinacao[15] + " - "
+ combinacao[16] + " - "
+ combinacao[17] + " - "
+ combinacao[18] + " - "
+ combinacao[19]
);